npm错误如何影响旧git提交?

npm错误如何影响旧git提交?,npm,node-modules,create-react-app,Npm,Node Modules,Create React App,在我的createreact-app项目中,我通过npm安装了许多节点包。每次,我都使用npm安装--save来更新package.json和package lock.json,然后将更改提交到git 最近,某件事导致以前工作的npm模块出现故障。由于找不到原因,我尝试删除并重新安装所有依赖项,如下所示: rm -rf node_modules/ npm install 但是,即使我切换回旧的提交并重复上面的命令,相同的模块仍然会失败 由于问题不可能出现在提交的代码本身(在另一

在我的createreact-app项目中,我通过npm安装了许多节点包。每次,我都使用
npm安装--save
来更新
package.json
package lock.json
,然后将更改提交到
git

最近,某件事导致以前工作的npm模块出现故障。由于找不到原因,我尝试删除并重新安装所有依赖项,如下所示:

    rm -rf node_modules/
    npm install
但是,即使我切换回旧的提交并重复上面的命令,相同的模块仍然会失败

由于问题不可能出现在提交的代码本身(在另一台机器上运行正常),因此问题必须出现在其他地方,例如
create react app
开发服务器或
/node\u模块中

考虑到所有东西都在git中并且以前都在工作,我如何将我的工作重置为工作状态

更新:


我下面的回答结果只对了一部分。npm确实安装了更新版本的软件包,但这毕竟不是问题所在。真正的修复方法是意识到我的数据(来自我的数据库)已损坏,因此在我修复数据之前,返回到以前的“工作版本”没有任何区别

更新:正如更新的问题中提到的,这个答案实际上并没有解决我的问题。与npm模块混在一起确实修复了一些问题,但很快又开始失败,因此修复不完整

更新2:我从数据库传递到模块的数据也有问题!该数据不存储在
git
中,因此摆弄
npm
模块和
git
没有任何功能


似乎问题出在npm版本控制上!由于我的
package.json
列出了
somepackage@^6.0.0
,因此运行
npm install
获取了最新版本(其中有错误)

因此,我的旧工作承诺引用的
somepackage@^6.0.0
在重新安装时仍然实际安装了新的错误版本


解决方案是编辑
package.json
并将
somepackage@^6.0.0
更改为
somepackage@6.0.0
(没有
^
的精确匹配)

请注意,您所做的任何操作都无法更改任何现有的Git提交。但Git提交是通过hash ID标识的,而不是通过分支名称标识的,您可以更改某个分支名称标识的hash ID。正如您所发现的,问题与Git无关。@torek Yes旧提交中的代码不会更改,但如果环境发生变化,该代码的行为可能会更改。所以我的问题主要是关于节点和npm,但我写的是git for context。