`npm link –save`不会更新我的package.json的依赖关系
我正在使用npm link package --save
来创build一个全局安装包的本地链接。
它正确地创build了到包的链接(并且将在全局安装,以防尚未安装)。 但它无法更新package.json
的依赖关系。
我在这里错过了什么?
根据npm文档 , npm link
不打算改变你的package.json
。 它为您的文件系统创build一个包的符号链接。
这允许你仍然通过名字引用一个模块,但是从你的本地文件系统中获取它:
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
如果你实际上打算在你的package.json
插入一个文件path,请使用npm install
来代替:
npm install --save /path/to/package
然后你会在package.json
文件中看到一个引用:
"dependencies": { "local-package": "file:/path/to/package" }
坚韧我强烈build议你使用npm link
,因为它使你的package.json
更加便携。 如果您使用本地文件path提交更改,则可能会在另一个系统上变为无效,或者如果移动文件。
你不会错过任何东西,这是不可能的(还)。
在npm问题跟踪器( https://github.com/npm/npm/issues/1166 )上有一个打开的function请求。
我为此创build了一个小工具: npm-link-save
NPM-链接保存
带有
--save
(或--saveDev
)的npm-link
将链接的依赖项保存到你的package.json
。您也可以链接多个依赖关系。
安装
npm i -g npm-link-save
用法
npm-link-save express # or npm-links express npm-links -D express // links in devDependencies npm-links express morgan // multiple links