YARN 或 NPM 包安装时缺少 src 文件夹
Missing src folder with YARN or NPM package install
创建一个简单的 package.json
yarn init
{
"name": "freedraw",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
添加 leaflet-freedraw 依赖项:
yarn add leaflet-freedraw
{
"name": "freedraw",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"leaflet-freedraw": "^2.13.0"
}
}
安装的节点模块只包含这个:
/dist
package.json
LICENSE
README.md
还应该安装源文件夹:
/src
freedraw 的开发者说 /src 文件夹也应该在那里。
我使用了很多包,除了这里,我到处都有 /src 文件夹。 npm
.
也是如此
There sould also be the source folder installed
作者没有义务在 npm 上也发布 src。
正如 Ivan 所指出的,看起来作者 确实 配置他们的包以在“dist”文件夹中发布仅 文件:(这可能是他们的错误)
摘自package.json
:
{
"files": [
"dist"
],
}
https://github.com/Wildhoney/Leaflet.FreeDraw/commit/3b82125994e9676ea018d67bf04a679934bbf5e8
package.json
“文件”字段的 npm 文档:
The optional files
field is an array of file patterns that describes the entries to be included when your package is installed as a dependency. File patterns follow a similar syntax to .gitignore
, but reversed: including a file, directory, or glob pattern (*
, **/*
, and such) will make it so that file is included in the tarball when it’s packed. Omitting the field will make it default to ["*"]
, which means it will include all files.
https://docs.npmjs.com/configuring-npm/package-json.html#files
我们面临着类似的问题,当 运行 从我们的私有 NPM 注册表全局安装 NPM 包时,我们缺少 src/
sub-directory。
.npmignore
或 .gitignore
文件中没有引用任何内容,我们甚至在 files
块中明确引用了 src/
sub-directory package.json
:
{
...
"main": "./bin/cli.js",
"bin": {
"app_name": "./bin/cli.js"
},
"scripts": {
"start": "node ./bin/cli.js"
},
"files": [
"bin",
"test",
"src",
"package.json"
],
...
}
有趣的是,安装也无法安装 test
sub-directory,将入口点移动到 src/
sub-directory 导致它根本无法安装以下错误:
ENOENT: no such file or directory, chmod '...node_modules/@private_registry/app_name/src/cli.js
创建一个简单的 package.json
yarn init
{
"name": "freedraw",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
添加 leaflet-freedraw 依赖项:
yarn add leaflet-freedraw
{
"name": "freedraw",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"leaflet-freedraw": "^2.13.0"
}
}
安装的节点模块只包含这个:
/dist
package.json
LICENSE
README.md
还应该安装源文件夹:
/src
freedraw 的开发者说 /src 文件夹也应该在那里。
我使用了很多包,除了这里,我到处都有 /src 文件夹。 npm
.
There sould also be the source folder installed
作者没有义务在 npm 上也发布 src。
正如 Ivan 所指出的,看起来作者 确实 配置他们的包以在“dist”文件夹中发布仅 文件:(这可能是他们的错误)
摘自package.json
:
{
"files": [
"dist"
],
}
https://github.com/Wildhoney/Leaflet.FreeDraw/commit/3b82125994e9676ea018d67bf04a679934bbf5e8
package.json
“文件”字段的 npm 文档:
The optional
files
field is an array of file patterns that describes the entries to be included when your package is installed as a dependency. File patterns follow a similar syntax to.gitignore
, but reversed: including a file, directory, or glob pattern (*
,**/*
, and such) will make it so that file is included in the tarball when it’s packed. Omitting the field will make it default to["*"]
, which means it will include all files.
https://docs.npmjs.com/configuring-npm/package-json.html#files
我们面临着类似的问题,当 运行 从我们的私有 NPM 注册表全局安装 NPM 包时,我们缺少 src/
sub-directory。
.npmignore
或 .gitignore
文件中没有引用任何内容,我们甚至在 files
块中明确引用了 src/
sub-directory package.json
:
{
...
"main": "./bin/cli.js",
"bin": {
"app_name": "./bin/cli.js"
},
"scripts": {
"start": "node ./bin/cli.js"
},
"files": [
"bin",
"test",
"src",
"package.json"
],
...
}
有趣的是,安装也无法安装 test
sub-directory,将入口点移动到 src/
sub-directory 导致它根本无法安装以下错误:
ENOENT: no such file or directory, chmod '...node_modules/@private_registry/app_name/src/cli.js