如何彻底删除已移除本地依赖对应的残留npm link?
解决残留npm link的完整操作步骤
第一步:清理全局残留的软链
- 先执行以下命令获取npm全局模块的存放路径:
npm root -g - 进入返回的目录,找到名为你之前link的
dependency的软链文件夹,直接手动删除该文件夹即可。 - 如果你的依赖包配置了bin执行命令,还需要执行以下命令获取全局bin目录路径:
npm config get prefix
进入该目录下的bin文件夹,删除对应依赖包的执行文件软链。
如果你使用了nvm等Node版本管理工具,需要确认你当初执行npm link时用的Node版本,切换到对应版本后再执行上述操作,不同Node版本的全局模块目录是相互独立的,你之前删的可能是当前版本的全局模块,不是当初link时的版本目录。
第二步:清理项目本地残留
- 进入你的主项目根目录,执行以下命令删除本地node_modules和锁文件:
rm -rf node_modules package-lock.json # 如果用yarn就删yarn.lock,用pnpm就删pnpm-lock.yaml
- 重新执行安装命令恢复依赖:
npm install
验证是否清理完成
执行npm link dependency,如果提示npm ERR! code ENOENT找不到对应包,说明残留已经清理完成。
如果你之前用的是yarn/pnpm做的link,需要换成对应包管理器的全局删除命令:
- yarn:
yarn global remove dependency- pnpm:
pnpm rm -g dependency
内容的提问来源于stack exchange,提问作者ABC
相关产品推荐
相关产品推荐

