发现 Rust 的 target 比 node_modules 还离谱

242 天前
yaott2020  yaott2020

今天用 Rust 开发,无意间发现 target 文件夹居然占用了近 20GB ,真的被吓到,这比 node_modules 。

5941 次点击
所在节点   程序员  程序员
44 条回复
yuhangch
yuhangch
242 天前
空间换时间(不是
povsister
povsister
242 天前
起码 node build 比 rust 快(不是
l1xnan
l1xnan
242 天前
我这一个项目长时间没有清理,飙到了 97GB🤣
diagnostics
diagnostics
242 天前
推特看别人吐槽过,1TB 的 mac 里面 200 多 g 是它,穷人干不了 rust 开发
encro
encro
242 天前
哈哈,少些几个目标 target 吧,如非必要。
fioncat
fioncat
242 天前
太真实了哈哈哈哈隔。
作为一个 Rust 开发,我已经把硬盘从 500G 加到 1T 了,你们呢?

另外记得定期 cargo clean
nulIptr
nulIptr
242 天前
前几年我试了一下 tauri 的 hello world 一行代码不写好像是 9g ,不知道现在咋样
wjx0912
wjx0912
242 天前
rust,node ,都是硬盘杀手
sigoden
sigoden
242 天前
推荐一个用于清理项目依赖和构建的工具: https://github.com/sigoden/projclean
fuis
fuis
242 天前
所有的项目可以构建到同一个 target 目录下

https://doc.rust-lang.org/cargo/reference/config.html#buildtarget-dir
wu67
wu67
242 天前
质疑 node_modules
理解 node_modules
成为 node_modules
超越 node_modules
...
dbskcnc
dbskcnc
242 天前
rust 确实占用不少,刚编译了下 zed editor,target 也是 19g 多了
zzhaolei
zzhaolei
242 天前
cargo clean 没用,你只要 build ,就还会下载回来,反而麻烦了
sampeng
sampeng
242 天前
说的好像 java 的 maven 库时间长了不大一样= =!只是没 rust 大。

其实这几年的语言的包管理逻辑都差太多,rust ,golang ,nodejs 。。都是把源代码完全拉过来。

问题是 rust 和 node 的最大差异是编译是真的慢。。很久之前看 PingCAP 的介绍,他们编译一次半天起步。。。给整崩溃了。
kneo
kneo
242 天前
卧龙凤雏,tauri 都有。
povsister
povsister
242 天前
@sampeng 不得不说,虽然都喷 go complier 的代码效率低编译优化差,但 go 团队坚持不牺牲编译速度真的是爽太多了。
k8s 那种项目找个 8c 机器,不 regen 代码+冷启的情况下也就几分钟,有编译缓存后改改代码再编译就是十几秒的事,太爽了。
araraloren
araraloren
242 天前
你也可以设置 CARGO_TARGET_DIR 改成一个单独的编译目录,但是会失去灵活性。
没有稳定的 ABI 是这样的,源码是现拉的,中间生成产物也是现编的,所以 target 会相当大,
如果提前把库提前安装好或者用其他手段共享一些编译结果,就会好很多。
cosette
cosette
242 天前
编译不仅占用磁盘,也占用内存,这就是 rust 。隔断时间 cargo clean 一下,编译的文件会累加的,release/debug ,包括更新依赖等等会越来越大。
kenvix
242 天前
@sampeng #13 java 是也是够地狱的,不同版本的 gradle 都会重新下一遍依赖库
FightPig
242 天前
我现在都统一放在一个目录,要不到处去清理,1t 小硬盘顶不住

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

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

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

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

© 2021 V2EX