本地路径依赖项未安装自己的依赖项

问题描述 投票:0回答:2

按照这个答案,我安装了本地依赖项,如下所示:

{ "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 注册表。

node.js npm dependencies
2个回答
2
投票
问题

不幸的是,这些本地路径包没有安装它们的依赖项。

注意:在这种情况下运行 npm install 时,由本地路径链接的包将不会安装自己的依赖项。您必须从本地路径本身运行 npm install。

来源:

docs.npmjs.com/...

解决方法

有很多方法可以解决这个问题,但我认为最好的方法是使用 GitHub 存储库和可选的分支。

所以只需将你的代码推送到 github 存储库,假设你使用你的 Github 用户名是

my-npm-playground

,你可以像这样链接存储库,
ada_lovelace

我遇到了类似的问题,但恰恰相反:本地库正在安装其依赖项。仅当那些具有版本差异的依赖项时才会发生这种情况。比如库中是

0
投票
,项目中是

ngx-scrollbar: 15.0.0,则本地库安装了依赖13.0.0,即出现了它的node_modules

© www.soinside.com 2019 - 2024. All rights reserved.