`npm link --save`不会更新我的package.json上的依赖项

PA.*_*PA. 7 node.js npm

npm link package --save用来创建一个全局安装包的本地链接.

它正确地创建了包的链接(如果尚未安装它将全局安装); 但它无法更新依赖关系package.json.

我在这里缺少什么?

Ste*_*ert 6

根据npm 文档npm link无意更改您的package.json. 它在您的文件系统上为包创建符号链接。

这允许您仍然按名称引用模块,但从本地文件系统中提取它:

cd ~/projects/node-redis    # go into the package directory
npm link                    # creates global link
cd ~/projects/node-bloggy   # go into some other package directory.
npm link redis              # link-install the package
Run Code Online (Sandbox Code Playgroud)

如果你确实要插入您的文件路径package.json,使用npm install来代替:

npm install --save /path/to/package
Run Code Online (Sandbox Code Playgroud)

然后你会在package.json文件中看到一个引用:

"dependencies": {
  "local-package": "file:/path/to/package"
}
Run Code Online (Sandbox Code Playgroud)

尽管我强烈建议您改用npm link它,因为它使您package.json更便携。如果您使用本地文件路径提交您的更改,它可能会在另一个系统上无效,或者如果您移动文件。