首页 > 解决方案 > 每次更改分支时如何避免 npm install ?

问题描述

我在 git lab 中有一个 git 存储库设置。现在每次我更改分支时我都应该这样做:

npm install && composer install && cp .env.example .env && artisan generate key

因为我输了.env,node_modules和 composer 模块。并且重新安装它们需要很长时间。因为如果我没有安装 node_modules 和其他东西,我就无法运行它并测试分支

我想知道我是否做错了什么,或者是否有办法让它发生。

我做了很多搜索,但没有运气。

提前致谢

标签: node.jslaravelgitgitlab

解决方案


您确定您正在谈论的文件/目录被 git 忽略(它们在您的.gitignore文件中)吗?如果不是这种情况,这里是您问题的答案:

由于它们与您正在使用的环境绑定,因此 git 不应该以任何方式触及它们。这就是为什么您在另一个分店结账时不应该丢失它们的原因。

只有composer.lock, thepackage-lock.json和 the.env.example应该被版本化。然后,当您从 GitLab 克隆存储库时,您执行 a npm install, a composer install,复制.env.exampleetc... 以设置您的依赖项,但依赖项目录(例如node_modules)不应来自您的存储库。

然后过了一会儿,让我们假设您想要更新您的 Composer 依赖项。你会做一个composer update. 您的composer.lock文件将被更新并提交到您的存储库。

然后,如果另一台计算机上的某人拉取您的更改,他只会拉取新更新的composer.lock文件。然后,他将制作一个composer install,它将安装(或更新,如果他之前已经安装过它们)从composer.lock到他的vendor文件夹中的依赖项。

希望对您有所帮助,请随时在评论中询问更多详细信息:)


推荐阅读