5条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
问题一和问题二都涉及到Yarn和Webpack版本管理的问题。这里我会分步骤为你解答。
问题一:
当你手动更改
node_modules/webpack/package.json中的版本号后,运行npm run dev时,npm可能会根据你的项目中的package-lock.json(对于npm >=5)或npm-shrinkwrap.json(对于npm <5)文件重新安装Webpack。这些文件记录了项目的精确依赖关系,包括每个依赖的版本。当执行开发命令时,npm可能基于这些锁定文件重置Webpack到其指定的版本。解决方法:
- 如果你想保持Webpack在4.14.0版本,可以尝试删除
package-lock.json或npm-shrinkwrap.json文件。 - 然后,再次运行
npm install或yarn确保只安装你想要的版本。 - 最后,在项目根目录创建一个
.npmrc文件(如果还没有的话),并在其中添加以下行,以防止npm自动升级Webpack到其他版本:npm config set save-exact webpack true
问题二:
对于Yarn的情况,它通常会遵循
package.json中的版本范围(例如,^、~等)。即使你在package.json中指定了特定版本,Yarn也会选择满足这个范围的最新稳定版本。解决方法:
- 在
package.json的dependencies部分,将Webpack的版本明确指定为精确版本,例如:"dependencies": { "webpack": "4.14.0" } - 删除
yarn.lock文件。 - 运行
yarn install,这应该会安装你指定的4.14.0版本的Webpack。
这样,无论你使用npm还是Yarn,都应该能保证Webpack的版本不会自动更新。如果你遇到任何问题,请随时告诉我。
解决 无用评论 打赏 举报 编辑记录- 如果你想保持Webpack在4.14.0版本,可以尝试删除