Open jingxinxin opened 6 years ago
有时候我们进行了npm upgrade操作后,由于更新后的第三包的兼容性的差异,出现编译报错不通过的问题。
npm upgrade
以前我们可以git checkout package.json来还原package.json文件,再次执行npm i操作来覆盖包,返回之前的状态。
git checkout package.json
package.json
npm i
而现在因为有来package-lock.json 文件锁定和记录了node_modules文件夹的包结构和下载路径等信息。 从而导致无论你是手动修改package.json文件中包的版本号,还是rm -rf node_modules再执行npm i会直接给你无视掉package.json中修改的信息。shit~
package-lock.json
node_modules
rm -rf node_modules
那要不我们把package-lock.json 删掉吧 执行npm outdated你会绝望的发现,妈蛋还是最新的包状态。
npm outdated
我目前是对照package.json的包版本,重新npm i xxx@x.x.x 指定版本号按照一下,但遇到大规模的变动,显得很蛋疼
npm i xxx@x.x.x
如有大神有更好的方式,还望不吝赐教
问题重现
有时候我们进行了
npm upgrade
操作后,由于更新后的第三包的兼容性的差异,出现编译报错不通过的问题。以前我们可以
git checkout package.json
来还原package.json
文件,再次执行npm i
操作来覆盖包,返回之前的状态。而现在因为有来
package-lock.json
文件锁定和记录了node_modules
文件夹的包结构和下载路径等信息。 从而导致无论你是手动修改package.json
文件中包的版本号,还是rm -rf node_modules
再执行npm i
会直接给你无视掉package.json
中修改的信息。shit~那要不我们把
package-lock.json
删掉吧 执行npm outdated
你会绝望的发现,妈蛋还是最新的包状态。解决方案
我目前是对照
package.json
的包版本,重新npm i xxx@x.x.x
指定版本号按照一下,但遇到大规模的变动,显得很蛋疼如有大神有更好的方式,还望不吝赐教