在程序包目录中使用sudo npm link
安装节点包时,如何在完成开发后卸载程序包?
npm link
将软件包安装为系统全局软件包位置('/ usr / local / lib`)中的符号链接。这使您可以在开发包时对其进行测试,而无需反复安装。
我需要运行哪个npm命令才能再次删除链接?
答案 0 :(得分:151)
可以使用可用于删除已安装软件包的 uninstall 或 rm 命令卸载软件包。唯一需要记住的是,需要全局卸载链接 - 需要提供--global
标记。
要卸载全局链接的foo
包,可以使用以下命令(必要时使用sudo
,具体取决于您的设置和权限)
sudo npm rm --global foo
这将卸载软件包。
要检查是否已安装软件包,可以使用npm ls
命令:
npm ls --global foo
答案 1 :(得分:116)
您可以使用unlink
删除符号链接。
例如:
cd ~/projects/node-redis
npm link
cd ~/projects/node-bloggy
npm link redis # links to your local redis
从package.json重新安装:
npm unlink redis
npm install
https://www.tachyonstemplates.com/npm-cheat-sheet/#unlinking-a-npm-package-from-an-application
答案 2 :(得分:16)
- 模块名称 gulp-task
- 项目名称 project-x
您想要关联 gulp-task :
1:转到gulp-task目录然后执行npm link
这会将项目符号链接到您的全局模块
2:转到您的项目 project-x 然后执行npm install
确保删除当前的node_modules目录
现在你要消除这种疯狂并使用真正的 gulp-task ,我们有两个选择:
1:转到您的项目并执行npm unlink gulp-task
这将删除已链接的已安装模块
2:转到 gulp-task 目录并执行npm unlink
删除符号链接。 请注意,我们没有使用模块的名称
3:庆祝
如果这不起作用,请通过查找全局安装的模块进行验证。如果您使用 nvm ,我的位置ls -la /usr/local/lib/node_modules/
将是不同的路径
1:找到您的全局依赖关系cd /usr/local/lib/node_modules/
2:删除符号链接只是使用rm
命令
rm gulp-task
确保最后没有/
rm gulp-task/
错误
rm gulp-task
✔️
答案 3 :(得分:2)
如果您在更改后发生了意外npm link
generator-webapp之类的操作,可以通过克隆正确的生成器并链接 来修复它。
git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;
答案 4 :(得分:1)
“ npm install”用npmjs(在package.json中指定)的版本替换由“ npm link”安装的node_modules中的所有依赖项