问题描述
当我们从 bitbucket 或任何其他平台克隆任何存储库时,我们没有获得节点模块。
因此,当我们运行 gatsby develop
时,它说“加载本地开发命令时出现问题。 Gatsby 可能未安装在您站点的 node_modules 中。也许运行 npm install'。
但是当我运行 npm install
时,它会花费很多时间,然后出现“SOCKET_ERR”错误。
那么是因为 node_modules 没有克隆还是我需要从头开始安装所有插件?
解决方法
node_modules
不得上传到存储库,绝不。因此,回答您的问题,是的,每次克隆存储库时,您总是需要安装依赖项。为什么?
原因有很多,但本质上是:
-
node_modules
很重,因此不值得将那一堆依赖项上传到存储库中。您节省了数百 MB。 -
node_modules
与运行环境(操作系统、依赖版本、Node、版本等)严格相关,因此每次运行 npm install 时,您都在安装每个模块的正确版本。以相反的方式进行操作会导致整个项目出现问题 - 它将避免跨合并的多个 git 冲突。如果更改依赖项,拉取请求或合并将在该过程中涉及更多文件。工具变得更慢,甚至决定不显示完整差异(例如 GitHub)
- 不提交(和推送)
node_modules
意味着您需要将package.json
(和package-lock.json
)中的所有模块列为强制性步骤。这很好,因为您可能没有努力这样做,如果您不这样做,某些 npm 操作可能会中断。
理想情况下,完整安装过程应仅在第一次发生(或由于某些配置问题或冲突而不得不删除 node_modules
时)。
关于您的 SOCKET_ERR
,它可能有多个来源,但有时是由 node-gyp
依赖项(与 Python 版本相关)引起的,请尝试重新安装或重新构建。