即使在 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 链接也会继续拉旧版本的主要内容,如果未能解决你的问题,请参考以下文章

npm执行清理缓存失败npm cache clean

执行 npm cache clean报错

vue依赖cache怎么删除

Error:Cannot find module 'array-includes'

[PWA] 18. Clean the photo cache

[转]How to Clean the Global Assembly Cache