在我的项目中,我使用的git
和node_modules
文件夹显然被忽略了。我正在branch1
工作,并添加了一些依赖项(例如redux
),并通过npm install
安装了它们。然后我切换到与branch2
同时创建的branch1
,现在它与branch1
的依赖关系有所不同。我再次使用npm install
来安装那些软件包。
这就是发生的事情:当我回到branch1
时,找不到在branch1
工作期间已经安装的软件包。我预计'node_modules
会被忽略,两个分支程序包都存在。尽管我之前已经安装了npm,但我不得不再次运行npm install。
所以我的问题是什么原因造成的? git在做某事吗?还是npm做某事?
答案 0 :(得分:1)
这是一个可能有助于解释的假想场景:
node_modules
,并且您将更改提交到package.json
和package-lock.json
。package.json
和package-lock.json
不再具有“ A”-尽管您的node_modules
保持不变(忽略),意味着“ A”仍然存在。npm install
,该分支使用package.json
和package-lock.json
按照其规范更新node_modules
。因为他们没有“ A”,所以它会从您的node_modules
中删除。node_modules
再次不受此git checkout的影响-这意味着您将需要再次运行“ npm install”以使“ A”返回node_modules
。 / li>