【问题标题】:Why must I delete the node_modules folder every time I pull from github为什么每次从 github 拉取时都必须删除 node_modules 文件夹
【发布时间】:2021-01-11 01:05:45
【问题描述】:

我知道这可能是一个很容易回答的问题,但我很好奇为什么每次从 github 存储库中提取时都必须删除 node_modules 文件夹。 当我从我的仓库拉取后尝试执行“npm start”时,我收到以下错误,并且在删除 node_modules 文件夹并执行“npm install”时,问题暂时得到解决。

sh: react-scripts: command not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT...

我注意到该文件夹​​显示为推送时所做更改的一部分(大约 2,800 个文件)。 这是我需要忽略 node_modules 文件夹(.gitignore)以阻止这种情况发生的情况吗? 关于为什么会发生这种情况的任何解释也很酷,就像我的仅供参考一样。

非常感谢您。

【问题讨论】:

  • 一般做法是不要签入node_modules。 NPM 已经使用package-lock.json 来确保正确的版本控制。话虽如此:如果你必须每次都删除node_modules,你需要修复你的npm安装,因为你不应该这样做。告诉npm 使用npm cache verify 进行自我修复,如果这不能修复它,那么您的npm 已经损坏到足以保证正确卸载和重新安装。
  • @Mike'Pomax'Kamermans 我听从了上述建议。如果问题仍然存在,我也会密切关注并检查 npm。谢谢你的解释和提示!!保持安全并保持健康。

标签: reactjs git github node-modules


【解决方案1】:

创建一个名为.gitignore 的文件并在其中粘贴以下代码(PS:您可以在所有项目中使用此文件,它包含几乎所有在将项目推送到 github 时必须忽略的扩展名和文件夹):

# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.vi
*~
*.sass-cache
node_modules/
.tmp/
.vs

# OS or Editor folders
.DS_Store
Thumbs.db
.cache
.project
.settings
.tmproj
*.esproj
nbproject
*.sublime-project
*.sublime-workspace
*.komodoproject
.komodotools
_notes
dwsync.xml
.sass-cache
.idea

【讨论】:

  • 太棒了!我已将此添加到我的 .gitignore 中。真的很感谢答案!!保持安全并保持健康。
【解决方案2】:

您应该将 node_modules 目录添加到 .gitignore 以不被推送到存储库中,然后将其删除。 并且 node_modules 应该只在你的开发环境中生成。

【讨论】:

  • 感谢您的回答!这成功了!保持安全并保持健康!
猜你喜欢
  • 2011-09-28
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
  • 2021-08-02
  • 1970-01-01
  • 2016-09-13
  • 2017-01-20
  • 2021-01-29
相关资源
最近更新 更多