如何撤消npm update?

时间:2015-01-14 23:16:10

标签: node.js npm

有没有办法撤消命令npm update?我运行了命令,现在我有一堆未满足的依赖项和一些错误。

我正在尝试手动重新安装并修复所有错误,但有人知道如何基本上恢复npm update吗?

5 个答案:

答案 0 :(得分:8)

您可以将package.json文件恢复到之前的状态(希望您仍然拥有该文件,或者至少记住您已更改的内容),然后执行另一个npm update

[UPDATE]

但是,通常,此技术不能保证整个依赖关系树将恢复到其先前的状态(因为依赖关系树中的package.json文件通常会松散地指定依赖关系版本。)

如果您需要确保您的包的依赖关系树可以完全恢复,您必须使用npm shrinkwrap之类的东西来“锁定”依赖关系版本(之前您发布包)。

答案 1 :(得分:4)

执行以下操作:

git log

然后复制最新的最新密钥。这将使您可以签出最新的提交。

git checkout "your-key" package.json
git checkout "your-key" package-lock.json 

没有引号"

(package-lock.json确实是必需的,但无论如何我还是喜欢做-“只要确保...”)

您可以做

git status

确保您的package.jsonpackage.lock

您也可以

rm -rf node_modules/ 

这将删除node_modules文件夹

npm install

答案 2 :(得分:1)

我所做的只是做" rm -rf node_modules"卸载更新的node_modules然后" npm install"重新安装它们;当我执行npm update时,我的package.json没有改变,这导致了所有的破坏。因此,通过删除并重新安装node_modules,我很乐意重新开始营业。

答案 3 :(得分:0)

git checkout "your-key" package.json
git checkout "your-key" package-lock.json 

不带引号

package-lock.json并不是必须的,但无论如何我还是喜欢这样做-“只要确保...”即可

您可以做

git status

答案 4 :(得分:0)

我已经学会了在 git 中使用不同的分支,即使是在单独工作时也是如此。

所以当我最近搞砸了我的 npm 时,我可以:

git stash(隐藏最近的更改) git switch main(切换回主分支) npm 更新(将 npm 包与 package.json 文件重新对齐)

关键是找回文件,npm update。或者从github中拉出文件,替换你的,然后npm update。