node_modules 应该加入版本控制吗

2017-05-24 14:45:29 +08:00
 zioc

团队有 win 和 mac,会有冲突吗

7130 次点击
所在节点    Node.js
34 条回复
lsyAndroid
2017-05-24 16:40:13 +08:00
不应该,我记得 package.json 加上就行了
frankynwa
2017-05-24 16:47:54 +08:00
不用,存 package.json 就行了。

然而我司居然把 node_modules 文件夹压缩之后加入版本控制了。

刚做项目不久,领导周末打电话问我:"项目里面 xx 插件是谁加的?怎么没打入压缩包内?现在构建版本都报错了你说怎么办????"

我说领导你 npm install 一下就行了......
nextbox
2017-05-24 17:46:30 +08:00
不应该
那么多文件。控制起来。是失控。。
直接 package.json 就可以了啦。
整个团队保持一样的 package.json 基本没啥问题的。
Hilong
2017-05-24 17:52:35 +08:00
yarn.lock 正解
billlee
2017-05-24 19:57:49 +08:00
不要加入版本控制,但是一定要归档。否则哪天 npm 上的项目被删了。。
orvice
2017-05-24 21:00:20 +08:00
https://github.com/github/gitignore/blob/master/Node.gitignore
参考 github 的.gitignore 模板

是不加入版本控制的
nino
2017-05-24 21:14:47 +08:00
其实有一种折衷的方法,我最近在使用,也是 facebook 内部很多项目的用法,就是把 npm 包压缩,然后 offline 安装。
yarn 自带这个功能,可以参考这篇博客: https://yarnpkg.com/blog/2016/11/24/offline-mirror/
nino
2017-05-24 21:18:14 +08:00
当你有 N 多环境需要 npm install,然后依赖又特别多的时候你们就知道痛苦了,开发环境,测试环境,CI 环境……
万一有的环境没有网络那又怎么办?其实依赖也进版本控制并不是一件不可接受的事,golang 项目的 vendor 一般也是推荐放进版本控制的。
sox
2017-05-24 22:25:45 +08:00
@billlee 现在已经不可能被删了
spice630
2017-05-25 10:19:42 +08:00
为什么这个板块儿颜色不一样~~
polun
2017-05-25 13:50:03 +08:00
看场景吧。
cxbig
2017-05-25 15:01:08 +08:00
我们的自动部署都是实时 install + run,目标文件生成以后还会把这个文件夹删掉。
cxbig
2017-05-25 15:03:23 +08:00
补充上一条:我们只用于前端生成 JS 和 CSS。以 nodejs 为后端的项目是不是运行时依赖不太确定。
sampeng
2017-05-25 19:37:00 +08:00
原则上不需要加,但是 require 必须写死版本号。如果你不想本地跑的好好的,上线发现洗洗睡了的话。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/363481

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX