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



根据这个答案,我安装了我的本地依赖:

{
"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中,因此eslintCLI不可用。

但是,如果我在npm上发布my_dependency并安装它作为包名和版本,

{
"private": true,
"dependencies": {
"my_dependency": "0.0.0"
}
}

eslint和所有插件将在./node_modules中添加。

如何为本地依赖项获得相同的效果?我不想在每次修改my_dependency时都用版本来污染npm注册表。

问题

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

注意:当运行npm install时,通过本地路径链接的包将不会安装它们自己的依赖项。你必须在本地路径下运行npm install。

来源:docs.npmjs.com/..。

解决方案

有很多方法可以解决这个问题,但在我看来,最好的方法是使用GitHub repo和分支。

将代码推送到github的repo,比如my-npm-playground,假设你使用的github用户名是ada_lovelace,你可以像这样链接到repo,

{
"private": true,
"dependencies": {
"my_dependency": "ada_lovelace/my-npm-playground"
}
}

最新更新