本地项目重复 node 包有没有办法统一管理,给多个项目共享

2023-02-01 15:16:50 +08:00
 unt
很多项目 node 依赖包都是差不多的,却需要安装多次,有没有办法实现共享。

虽然无碍,但是文件数量实在太大了,心里难受的慌。
2041 次点击
所在节点    程序员
12 条回复
FEDT
2023-02-01 15:29:54 +08:00
pnpm 了解一下
tool2d
2023-02-01 15:37:52 +08:00
这个需求微信都可以做到,多个文件只占用一个磁盘。

而 windows 你需要最新版本的文件系统,古老的 NTFS 是不支持 copy on write 功能的,最新的文件系统 ReFS 支持,可以多个 node 文件占一份空间。
tool2d
2023-02-01 15:42:18 +08:00
如果你用过 python ,才知道那个依赖才真的吓人。一个 AI 项目有大到 10G 的,多几个项目 30G 磁盘空间就消失了。

nodejs 依赖只是文件数量看起来挺唬人,磁盘总空间倒是还能承受。
billyu
2023-02-01 15:47:10 +08:00
pnpm 正解
wu67
2023-02-01 16:01:06 +08:00
pnpm yarn 都可以吧? 装多几次其实也没啥, 毕竟我电脑上也没那么多项目需要装依赖, 最多就 10 来个.
我现在都放弃治疗了, 直接 npm i, 还是在 docker 容器的 npm i...
lujiaosama
2023-02-01 16:18:42 +08:00
pnpm 解决的最大痛点就是这个. 不过分开其实不是什么坏事. 想想哪天共用的依赖包出了问题, 就一起炸了.
YUyu101
2023-02-01 17:17:44 +08:00
楼上说的 pnpm 可以,如果用到了 patch-package 给依赖打临时补丁可能会有点问题
c9792536451
2023-02-01 17:40:50 +08:00
我用的 lerna ,多个项目共用一个 node_modules ,目前来看体验还行
zsj1029
2023-02-01 19:29:04 +08:00
npm -g 全是公共
unt
2023-02-01 21:18:54 +08:00
@FEDT #1 pnpm 几年前就下了,但是不知道原来是干这个的😱
@lujiaosama #6 我想把自己项目分开,网上别人的项目共享
@c9792536451 #8 好的,我去了解一下啊
janxin
2023-02-01 22:31:26 +08:00
@tool2d AI 项目大的是模型不是代码啊...这玩意不同项目复用的可能性不高
tool2d
2023-02-01 22:49:19 +08:00
@janxin 不是的,就是单纯的 lib 依赖库很大,一个子目录都是很多 G 。

而且不同的 AI 项目,依赖库版本是会冲突的,所以我每一份 AI 项目,PY 目录都是独立的,算下来就很恐怖了。

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

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

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

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

© 2021 V2EX