即使在 npm clean cache --force、unlink、rm -rf node_modules 等之后,NPM 链接也会继续拉旧版本
Posted
技术标签:
【中文标题】即使在 npm clean cache --force、unlink、rm -rf node_modules 等之后,NPM 链接也会继续拉旧版本【英文标题】:NPM link keeps pulling old version even after npm clean cache --force, unlink, rm -rf node_modules, etc 【发布时间】:2021-03-06 16:21:34 【问题描述】:我有一个包 foo,我想对它进行符号链接并在包 bar 中使用本地版本的 foo。
正常流程应该是(我认为)
在 foo 中运行 sudo npm 链接
在酒吧里运行 sudo npm link foo
完成
但是,Bar 一直在提取旧版本的 foo,而不是我本地计算机上的版本。这个旧版本似乎在任何地方都不存在,也不是实时版本
我试过了
npm clean cache --force
在 foo 中:
npm unlink
rm -rf node modules, rm -rf build, rm -rf dist, rm -rf package-lock.json
npm build
npm link
在酒吧:
npm link foo
rm -rf node modules, rm -rf build, rm -rf dist, rm -rf package-lock.json
npm build
Bar 仍然以旧版本的 foo 结束,它既不是当前的本地版本也不是实时版本。这个旧版本可能存在于哪里,为什么它会不断出现?
【问题讨论】:
【参考方案1】:如果您不清除 package-lock.json
文件,那么 npm 将尝试安装 package-lock.json
中列出的依赖项的确切版本。见:https://docs.npmjs.com/cli/v6/configuring-npm/package-lock-json
在清理和重新安装你的包之前尝试删除package-lock.json
。
【讨论】:
以上是关于即使在 npm clean cache --force、unlink、rm -rf node_modules 等之后,NPM 链接也会继续拉旧版本的主要内容,如果未能解决你的问题,请参考以下文章
Error:Cannot find module 'array-includes'