npm link
的两种使用方式
npm link
会做两件事:
- 往 npm get prefix 下的 lib/node_modules 安装了这个包(用 ln -s 创建的软链)
- 往 npm get prefix 下的 bin 里放了这个包里注册的命令(用 ln -s 创建的软链)
用起来和 npm install -g 的包的命令没区别。
删除自然也是用 npm uninstall -g xxx 来删,删除软链不影响源文件。
所以说,npm link 就是用软链模拟了 npm install -g。
此外,npm link 还有一个作用。
打印和 npm install 一样,提示添加了一个包。
npm link 的原理是这样的:
npm link xxx 的原理是这样的:
总结
上节我们通过 npm link 来把项目安装到了全局,并且注册了全局命令。
用起来很方便。
这节我们探究了下实现原理。
原理就是软链接。
npm link 会做两件事:
- 在 npm get prefix 下的 lib/node_modules 安装了这个包(用 ln -s 创建的软链)
- 在 npm get prefix 下的 bin 里放了这个包里注册的命令(用 ln -s 创建的软链)
而 npm link xxx 则是再把这个包 link 到项目的 node_modules 下,并且把命令 link 到项目的 node_modules/.bin 下。
其实和 npm install 一样,就是用软链模拟的 npm install 的过程。
所以删除自然也是用 npm uninstall
软链在 node 生态里有很多应用,之后我们会继续探究。