NodeJS 如何卸载使用npm link安装的软件包?

neskvpey  于 2023-11-17  发布在  Node.js
关注(0)|答案(9)|浏览(352)

当在包的目录中使用sudo npm link安装节点包时,如何在完成开发后卸载该包?
npm link将软件包作为符号链接安装在系统的全局软件包位置(“/usr/local/lib”)。这允许您在开发软件包时对其进行测试,而无需反复安装。
我需要运行哪个npm命令来再次删除链接?

rkue9o1l

rkue9o1l1#

您可以使用 uninstallrm 命令来卸载该软件包,该命令可用于删除已安装的软件包。唯一需要记住的是,该链接需要全局卸载-需要提供--global标志。
为了卸载全局链接的foo软件包,可以使用以下命令(根据您的设置和权限,必要时使用sudo

sudo npm rm --global foo

字符串
此操作将卸载该软件包。
要检查是否安装了软件包,可以使用npm ls命令:

npm ls --global foo

bybem2ql

bybem2ql2#

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

eqfvzcg8

eqfvzcg83#

  • 模块名称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删除symlink。注意我们没有使用模块的名称
3:庆祝
如果这不起作用,请通过定位您的全局安装模块进行验证。如果您使用nvm,则位置为ls -la /usr/local/lib/node_modules/,它将是不同的路径

选项2:像普通Linux大师一样删除符号链接

1:找到您的全局依赖项cd /usr/local/lib/node_modules/
2:删除符号链接只需使用rm命令
rm gulp-task确保结尾没有/
rm gulp-task/错误错误
rm gulp-task电子邮件

kiayqfof

kiayqfof5#

这对我很有效:
1.查看npm全局包列表:

npm ls --global

1.卸载您的软件包:

npm uninstall --global my-package

1.转到您的测试平台并取消链接链接的软件包:

npm unlink my-package

1.导航到您的测试台目录并重新安装软件包:

npm install

1.重新启动测试台服务器

7rtdyuoh

7rtdyuoh6#

您可以使用unlink命令撤消link命令。

创建链接

级封装

cd ./some-package
npm link

字符串
在消费者

cd ./some-project 
npm link some-package

删除链接

删除链接应该按照相反的顺序进行-从消费者开始。

cd ./some-project 
npm unlink some-package


级封装

cd ./some-package
npm unlink

8ehkhllq

8ehkhllq7#

如果您在更改后意外地执行了npm link generator-webapp之类的操作,您可以通过克隆正确的生成器并链接 that 来修复它。

git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;

字符串

nmpmafwu

nmpmafwu8#

“npm install”将使用“npm link”安装的node_modules中的所有依赖项替换为npmjs中的版本(在package.json中指定)

tuwxkamq

tuwxkamq9#

有这么多的答案,但没有一个考虑到有人想在package.json中保留一个同名的包的情况。
如果您希望在取消链接后将my-linked-module保留在package.json中,则正确的工作流程如下:
首先按照npm link的常规步骤,我不会在这里写所有这些。
然后:

npm link my-linked-module
# do some work with the linked module

# time to unlink, but KEEP package.json unchanged
npm unlink my-linked-module --no-save
# and then need to install to get the old unlinked version back
npm install

字符串
使用npm 9.5.1测试

相关问题