当在包的目录中使用sudo npm link
安装节点包时,完成开发后如何卸载该包?
npm link
会将该包安装为系统全局包位置(“/usr/local/lib”)中的符号链接。这使您可以在开发过程中测试包,而无需反复安装它。
我需要运行哪个npm命令来再次删除链接?
该软件包可以使用与卸载已安装软件包相同的卸载或rm命令进行卸载。唯一需要记住的是链接需要全局卸载 - 需要提供--global
标志。
为了卸载全局链接的foo
软件包,可以使用以下命令(根据您的设置和权限可能需要使用sudo
)
sudo npm rm --global foo
这将卸载该软件包。
要检查一个软件包是否已经安装,可以使用npm ls
命令:
npm ls --global foo
您可以使用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
npm unlink
和 npm install
并不能解决问题。 - element11npm unlink
删除了我的包。 - Saiansh Singh- 模块名: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:庆祝一下。
如果这种方法不起作用,请通过定位全局已安装模块进行验证。我的路径为 ls -la /usr/local/lib/node_modules/
,如果您使用 nvm,则路径可能不同。
1:定位全局依赖 cd /usr/local/lib/node_modules/
2:使用 rm
命令来删除软链接。
rm gulp-task
确保结尾没有/
rm gulp-task/
是错误的
rm gulp-task
✔️
npm-unlink
命令会删除我项目中的 所有 包。 - cst1992npm uninstall
相同。 - hastrb检查npm全局包列表:
npm ls --global
卸载您的软件包:
npm uninstall --global my-package
进入您的测试环境并取消链接已链接的软件包:
npm unlink my-package
导航到您的测试环境目录并重新安装软件包:
npm install
重新启动您的测试环境服务器
npm uninstall --global my-package
在包中
cd ./some-package
npm link
cd ./some-project
npm link some-package
删除链接应该按照相反的顺序进行 - 从消费者开始。
cd ./some-project
npm unlink some-package
在软件包中
cd ./some-package
npm unlink
npm unlink some-package && npm install some-package
。即使如此,您仍然需要使用 npm rm --global some-package
命令删除全局包。 - akaltargenerator-webapp
之后不小心执行了npm link
,你可以通过克隆正确的生成器并链接那个来修复它。git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;
“npm install”会用npmjs中在你的package.json中指定的版本替换所有已安装的依赖项,而这些依赖项是通过“npm link”安装在node_modules中的。
npm link
安装的包,而不是 npm link somepackage
。你所建议的方法会将该包留在全局 node_modules 中。 - kroiz有很多答案,但没有一个考虑到有人想要在package.json
中保留相同名称的包的情况。
在取消链接后仍想在package.json
中保留my-linked-module
的正确工作流程:
首先按照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 ls --global --depth 0
列出所有顶层依赖项。 - schu34sudo
也是如此。我创建了缺失的目录,并使用虚拟的package.json
文件填充了name
和version
字段(name
应与包名称匹配,version
可以是任何值)。在该文件夹中,我运行了npm link && npm unlink
命令,然后它就可以工作了。 - silvenonnpm uninstall
也可以正常工作。 - backslashNsudo
。 - bmaupinnpm list -g --depth=1
对我有用。 - Neilnpm rm --location=global foo
。 - Manjar