首页 > 解决方案 > 我们需要在 Gatsby 中从头开始安装所有插件吗?

问题描述

当我们从 bitbucket 或任何其他平台克隆任何存储库时,我们没有获得节点模块。因此,当我们运行gatsby develop它时,它会说“加载本地开发命令时出现问题。Gatsby 可能未安装在您站点的 node_modules 中。也许运行 npm install'。但是当我运行npm install它需要很多时间时,错误就会出现“SOCKET_ERR”。那么是因为 node_modules 没有克隆还是我需要从头开始安装所有插件?

标签: gatsbynode-modulesnpm-installgatsby-pluginlocal-node-modules

解决方案


node_modules绝对不能上传到存储库,永远不要。因此,回答您的问题,是的,每次克隆存储库时,您总是需要安装依赖项。为什么?

有很多原因,但本质上是:

  • node_modules很重,因此不值得将一堆依赖项上传到存储库中。您正在节省数百 MB。
  • node_modules与运行环境(操作系统、依赖版本、节点、版本等)严格相关,因此每次运行 npm install 时,您都在安装每个模块的正确版本。以相反的方式进行操作会导致整个项目出现问题
  • 它将使您免于合并中的多个 git 冲突。如果更改依赖项,则拉取请求或合并将涉及更多文件。工具变得更慢,甚至决定不显示完整的差异(例如 GitHub)
  • 不提交(和推送)node_modules意味着您需要在package.json(and package-lock.json) 中列出所有模块作为强制性步骤。这很好,因为您可能没有足够的努力去做,如果您不这样做,一些 npm 操作可能会中断。

理想情况下,完整的安装过程应该只发生在第一次(或者node_modules由于某些配置问题或冲突而不得不删除时)。

关于你的SOCKET_ERR,它可能有多个来源,但有时是由node-gyp依赖关系引起的(与 Python 版本有关),请尝试重新安装或重新构建。


推荐阅读