Google Driver 传输类似 node_modules 这样的文件太慢

2020-08-27 18:14:36 +08:00
 ymlog

一直在用 google 云,最近把 hexo 生成的博客放在了 google 云里,传输小文件且数量特别多的是很慢;

网上给出了一种解决方法,就是把文件夹压缩,上传到 google 云后在线解压,然后再同步到本地,速度可以快一倍,我试了一次,结果里面所有中文标题的文件都乱码了

5347 次点击
所在节点    程序员
82 条回复
ymlog
2020-08-28 09:11:32 +08:00
@noe132 今日份黑色幽默
ymlog
2020-08-28 09:12:17 +08:00
@houzhenhong 好的,我尝试一下,非常感谢
ymlog
2020-08-28 09:12:59 +08:00
@Osk 确实是这样,这东西也太分散了
Augi
2020-08-28 09:14:13 +08:00
不应该传输 node_modules
kekxv
2020-08-28 09:17:24 +08:00
@ymlog 劝你不要传 node_modules 处理因为小文件太多,还因为 node_modules 并不通用,你在 A 电脑上生成的 node_modules 很有可能在 B 电脑上无法使用,B 电脑还是要把 node_modules 删掉重新生成 node_modules 。
然后问题就来了,这时候 B 电脑又把 node_modules 上传了,然后 A 电脑同步过来了,然后。。。。。。。。

另外如果是实时同步,B 电脑刚删好,生成完毕,此时 A 电脑刚好改完代码,同步开启,然后发现 node_modules 被改了,emmmmmm,然后需要把 node_modules 重新生成,但是因为是实时同步,所以很快 B 电脑会发现他的 node_modules 不能用了,于是。。。。。。。

什么?你说你只在一台电脑上用?那你为什么还要备份 node_modules ?

什么?多电脑没有不能用的问题,那恭喜你啊,万一以后遇到你可以考虑一下是不是 node_modules 不通用问题。
12101111
2020-08-28 09:24:03 +08:00
可以看一下 hugo, zola 这种单文件生成器,没有 node_modules 这种问题
Uyuhz
2020-08-28 09:24:05 +08:00
我都是 jenkins 自己去 npm install...
KuroNekoFan
2020-08-28 09:49:34 +08:00
我觉得比较好的做法是把 package.lock 也提交,然后 npm ci,把 node_modules 加到 repo 里实属弱智
KuroNekoFan
2020-08-28 09:52:27 +08:00
如果觉得每个项目一份 node_modules 很讨厌可以考虑 pnpm,当然我觉得每个项目一份 npm 其实也没什么问题
supuwoerc
2020-08-28 10:03:55 +08:00
不管啥环境传这种超多层级的文件都慢吧,为啥不直接保存 package.json 再安装来的直接 =。=
MrTreasure
2020-08-28 10:37:39 +08:00
其实是根本找不到需要手动传输 node_modules 的必要性,不太确定什么场景下是你只传输 package.json,然后在服务器端 npm install 不能解决的。即使像我一样觉得每次不同项目都要拉新的 node_modules,也可以使用 yarn 来安装

你这样备份 node_modules 本身也不合理,因为有些 node 包会是基于当前的系统环境生成的,比如 node-sass 这些,你同步过去以后也不一定能用
jaylee4869
2020-08-28 10:46:22 +08:00
推荐你用 vercel 或 netlify 。可以 用自己的域名 解析。
ymlog
2020-08-28 11:06:11 +08:00
@shoujiaxin Jenkins 构建流水线吗,买的轻量级服务器资源带不动,自己用的又是 windows
@ysc3839 可以这样,但是如果 node_modules 目录在 hexo/node_modules 这样的目录结构下,GoogleDriver 备份 hexo,不能 ignore node_modules,不像 git 那样好用
ymlog
2020-08-28 11:07:46 +08:00
@KuroNekoFan 麻烦看清说明,我是本地也要用
krixaar
2020-08-28 11:40:30 +08:00
Google Drive 目前似乎不能 follow 符号链接,这样就有了个非常简单的处理方法,把 node_modules 挪出去,然后 mklink 回来,既不影响现有的工程(相当于路径没变),又不影响备份(相当于手动 ignore 了)。
另外这种事儿用 github 开个私有 repo,然后用 github actions 从 npm install 到部署自己服务器上都能直接搞定吧?
Sharuru
2020-08-28 11:46:43 +08:00
我琢磨着网盘人家爱咋用咋用。

不过话说回来,零碎小文件放哪家上传都慢……
phxsuns
2020-08-28 11:52:36 +08:00
@ymlog 系统环境不一样,node_modules 装出来也不一样的。保险起见还是需要 npm install 的。
vanxy
2020-08-28 12:16:42 +08:00
想到这个世界上有人在用网盘同步 node_modules, 有人把 node_modules 传到 git 。就很难受...

不知道有没有人有同样的感觉
maomaomao001
2020-08-28 12:30:46 +08:00
@ymlog 用的时候解压

传的时候 zip ,用的时候解压
charlie21
2020-08-28 13:04:02 +08:00
这是一种对于资源的浪费

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

https://www.v2ex.com/t/701989

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

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

© 2021 V2EX