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

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

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

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

5556 次点击
所在节点    程序员
82 条回复
ericgui
2020-08-28 01:16:52 +08:00
打包之后再传呗
xmumiffy
2020-08-28 01:21:40 +08:00
真要传那就那 rclone 开几百个 transfers 和 checkers
xw900812
2020-08-28 01:58:26 +08:00
把 `npm install` 的过程放到 ci cd pipeline 中去,直接传是错误的做法哦。
starsyork
2020-08-28 02:50:51 +08:00
其实我想问,有啥方法可以让网盘自动不备份 node_mudoles 嘛,反正 google drive 我没找到设置
skies457
2020-08-28 02:51:54 +08:00
目前用过的网盘只有 Dropbox 能高性能地储存 node_modules 。本来理想的情况就是把网盘当驱动器用,跨设备 1:1 同步和备份工作文件,难道在网盘里每创建一个前端项目都要在网盘设置里面 ignore 掉、然后在所有设备上执行 npm install ?这不是花钱买罪受嘛
linliting45
2020-08-28 04:35:44 +08:00
@skies457 这种不应该用 github ?
lslqtz
2020-08-28 04:49:32 +08:00
网盘我觉得明明是当备份盘用的,没想到居然会有人当驱动器。。。
vk42
2020-08-28 05:17:36 +08:00
上面的吐槽内容就不重复了,发现没人提压缩包乱码问题,盲猜你是在 Win 下压的 zip 包。为了避这个坑一般 Windows 用户打的 zip 包全都打回去重打……
Rhinecho
2020-08-28 06:47:16 +08:00
houzhenhong
2020-08-28 07:35:06 +08:00
@ymlog

> 如果模块变成 zip 包了,hexo 还能用吗

能用,可以去了解一下 yarn2 他们做了一个基于 zip 的虚拟文件系统。其实之前 yarn1 的时候也有 pnp 模式,类似 composer 的加载方案。yarn2 才加入了 zip 的功能,目标就是把依赖同时上传能更好的控制,只不过我没有试过,好像 hexo-cli 应该不支持 yarn2 https://github.com/hexojs/hexo-cli/pull/218 反正感觉开源社区对 yarn2 不怎么支持,尤雨溪好像对 yarn2 也是消极态度,他说这个命名不好,因为变化太大了。我觉得以后 yarn2 应该和 pnpm 差不多的状态吧。
houzhenhong
2020-08-28 07:40:49 +08:00
偏个楼我看到刚才楼上的 pull 的讨论里面有一句话,`That will be complicated & slow, since yarn has no programmatic API.` 不知道以后 yarn 的未来是怎么样呀。
Osk
2020-08-28 08:17:28 +08:00
其实我觉得并不能全怪楼主神操作,js 的生态中,尤其是 node_modules 这个玩意儿是真的恶心。

真的恶心!
真的恶心!
真的恶心!

不说备份到网盘,就算是备份到本地 nas 都很坑好么,几百 MB 的文件夹,动辄上百万的文件,坑死人了。
不备份吧,又要专门去修改备份脚本设置 exclude 规则,有时并不是那么方便。
备份吧,每次看到日志里面 node_modules 刷屏,血压就骤升。

其它编程语言很少见这么坑的。
shoujiaxin
2020-08-28 08:51:12 +08:00
我有一个问题,既然使用这么频繁,为什么要把本地的 node_modules 删掉呢?
另外,使用频繁的话用 CI 就更方便了吧
guanhui07
2020-08-28 08:54:42 +08:00
node_modules 文件目录不要传
ymlog
2020-08-28 08:57:17 +08:00
@skies457 我也是这么想的,但是评论一帮人就让我不要传输 node_modules
ymlog
2020-08-28 08:58:59 +08:00
@shoujiaxin 没有说把本地 node_modules 删掉,只是放在到 google 网盘,还是要用的
ysc3839
2020-08-28 09:05:05 +08:00
@skies457 @ymlog
“不传输 node_modules”不代表要把本地的 node_modules 删除呀。
不传输 node_modules 的话,也只是在新设备上同步时需要安装一次,以后直接用就行了。
这么做很好地解决了 node_modules 上传太慢的问题。在我看来,等 node_modules 上传半天才是受罪。
ymlog
2020-08-28 09:08:48 +08:00
@ericgui 先打包成压缩包,然后在云端解压,最后同步到本地,可以让速度快一倍
ymlog
2020-08-28 09:10:04 +08:00
@vcfvct 可以这样,但是如果 node_modules 目录在 hexo/node_modules 这样的目录结构下,GoogleDriver 备份 hexo,不能 ignore node_modules,不像 git 那样好用
ymlog
2020-08-28 09:11:01 +08:00
@oneisall8955 因为本地会经常用到 node_modules 里的代码渲染 markdown,如果是 git 上传的话,可以理解为上传之后,可以不再用到了吗

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

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

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

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

© 2021 V2EX