如何卸载使用npm链接安装的软件包?

时间:2013-09-30 12:44:44

标签: node.js npm npm-link

在程序包目录中使用sudo npm link安装节点包时,如何在完成开发后卸载程序包?

npm link将软件包安装为系统全局软件包位置('/ usr / local / lib`)中的符号链接。这使您可以在开发包时对其进行测试,而无需反复安装。

我需要运行哪个npm命令才能再次删除链接?

5 个答案:

答案 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)

npm链接疼痛:

- 模块名称 gulp-task

- 项目名称 project-x

您想要关联 gulp-task

1:转到gulp-task目录然后执行npm link这会将项目符号链接到您的全局模块

2:转到您的项目 project-x 然后执行npm install确保删除当前的node_modules目录

现在你要消除这种疯狂并使用真正的 gulp-task ,我们有两个选择:

选项1:通过npm取消链接:

1:转到您的项目并执行npm unlink gulp-task这将删除已链接的已安装模块

2:转到 gulp-task 目录并执行npm unlink删除符号链接。 请注意,我们没有使用模块的名称

3:庆祝

如果这不起作用,请通过查找全局安装的模块进行验证。如果您使用 nvm ,我的位置ls -la /usr/local/lib/node_modules/将是不同的路径

选项2:像普通的linux guru一样删除符号链接

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中的所有依赖项