繁体   English   中英

我安装的软件包在 node_modules 中丢失了

[英]my installed packages got lost in node_modules

在我的项目中,我使用git并且node_modules文件夹显然被忽略了。 我正在工作branch1并添加了一些依赖项(例如redux )并通过npm install安装它们。 然后我切换到branch2其上创建同时与branch1现在它已经比一些不同的相关branch1 我再次使用npm install来安装这些软件包。

所以这就是发生的事情:当我回到branch1时,在branch1工作期间没有找到我已经安装的软件包。 我预计,因为node_modules被忽略,两个分支包都存在。 尽管我之前安装过它们,但我不得不再次运行 npm install 。

所以我的问题是什么导致了这个? 是git在做什么吗? 还是 npm 做某事?

这是一个可能有助于解释的假设场景:

  1. 在分支 1 上安装“A”。 它被保存到node_modules并且你提交对package.jsonpackage-lock.json
  2. 你签出分支 2,导致你的package.jsonpackage-lock.json不再有“A”——尽管你的node_modules保持不变(gitignored),这意味着“A”仍然存在。
  3. 您在分支 2 上运行npm install ,它使用您的package.jsonpackage-lock.json node_modules根据其规范更新您的node_modules 因为它们没有“A”,它会从您的node_modules删除。
  4. 您检出分支 1,并且您的node_modules再次不受此 git checkout 的影响 - 这意味着您需要再次运行“npm install”以在node_modules获得“A”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM