簡體   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