215

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

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

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

4

5 回答 5

221

可以使用可用于删除已安装包的相同卸载rm命令来卸载该包。唯一要记住的是链接需要全局卸载 ---global需要提供标志。

为了卸载全局链接的foo包,可以使用以下命令(sudo必要时使用,取决于您的设置和权限)

sudo npm rm --global foo

这将卸载软件包。

要检查是否安装了软件包,npm ls可以使用以下命令:

npm ls --global foo
于 2013-09-30T12:44:43.597 回答
158

您可以使用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

于 2014-07-24T17:15:13.613 回答
25

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:庆祝


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


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

1:找到你的全局依赖cd /usr/local/lib/node_modules/

2:删除符号链接只是使用rm命令

rm gulp-task 确保你/最后没有

rm gulp-task/ 是错的

rm gulp-task✔️

于 2017-06-28T14:00:40.440 回答
1

如果您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;
于 2014-07-20T19:37:29.207 回答
1

"npm install" replaces all dependencies in your node_modules installed with "npm link" with versions from npmjs (specified in your package.json)

于 2018-07-13T16:56:46.907 回答