【发布时间】:2013-10-06 08:10:21
【问题描述】:
使用包目录中的sudo npm link 安装节点包时,我如何在完成开发后卸载该包?
npm link 将包作为符号链接安装在系统的全局包位置('/usr/local/lib`)中。这使您可以在开发包的同时对其进行测试,而无需一遍又一遍地安装。
我需要运行哪个 npm 命令才能再次删除链接?
【问题讨论】:
使用包目录中的sudo npm link 安装节点包时,我如何在完成开发后卸载该包?
npm link 将包作为符号链接安装在系统的全局包位置('/usr/local/lib`)中。这使您可以在开发包的同时对其进行测试,而无需一遍又一遍地安装。
我需要运行哪个 npm 命令才能再次删除链接?
【问题讨论】:
可以使用相同的 uninstall 或 rm 命令来卸载该软件包,该命令可用于删除已安装的软件包。唯一要记住的是链接需要全局卸载 - 需要提供 --global 标志。
为了卸载全局链接的foo包,可以使用以下命令(必要时使用sudo,取决于您的设置和权限)
sudo npm rm --global foo
这将卸载软件包。
要检查是否安装了包,可以使用npm ls 命令:
npm ls --global foo
【讨论】:
npm ls --global --depth 0 列出所有顶级依赖项
sudo。我使用带有name 和version 字段的虚拟package.json 创建了丢失的目录(name 应该与包名称匹配,version 可以是任何东西)。在那个文件夹中,我运行了npm link && npm unlink,它成功了。
npm uninstall 来自本地库文件夹也可以。
sudo 如果您使用 nvm 之类的东西来安装节点,则不需要
npm list -g --depth=1 为我工作
您可以使用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
【讨论】:
unlink 与npm 的rm 不一样吗?他们共享同一个手册页(uninstall)。
npm i 不删除所有链接吗?
-模块名称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 删除了我项目中的所有包。
如果您在更改后不小心做了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;
【讨论】:
“npm install”将使用“npm link”安装的 node_modules 中的所有依赖项替换为来自 npmjs 的版本(在 package.json 中指定)
【讨论】:
npm link 而不是npm link somepackage 安装的软件包。您的建议会将包留在全局 node_modules 中。