按照这个答案,我安装了本地依赖项,如下所示:
{
"private": true,
"dependencies": {
"my_dependency": "../relative/path/to/my_dependency"
}
}
my_dependency
取决于 ESLint 及其插件:
{
"name": "my_dependency",
"dependencies": {
"@typescript-eslint/eslint-plugin": "5.25.0",
"@typescript-eslint/parser": "5.25.0",
"eslint": "8.16.0",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-node": "11.1.0"
},
如果我将 my_dependency
安装为路径,
eslint
及其插件不会安装在
./node_modules
中,因此
eslint
CLI 不可用。但是,如果我在 npm 上发布
my_dependency
并将其安装为包名称和版本,
{
"private": true,
"dependencies": {
"my_dependency": "0.0.0"
}
}
eslint
,所有插件都将添加到
./node_modules
。如何让本地依赖获得同样的效果? 我不想每次在
my_dependency
中进行更改时都使用仅用于实验的版本来污染 npm 注册表。
注意:在这种情况下运行 npm install 时,由本地路径链接的包将不会安装自己的依赖项。您必须从本地路径本身运行 npm install。来源:解决方法
所以只需将你的代码推送到 github 存储库,假设你使用你的 Github 用户名是
my-npm-playground
,你可以像这样链接存储库,
ada_lovelace
我遇到了类似的问题,但恰恰相反:本地库正在安装其依赖项。仅当那些具有版本差异的依赖项时才会发生这种情况。比如库中是ngx-scrollbar: 15.0.0,则本地库安装了依赖13.0.0,即出现了它的node_modules