上课时老师说 yarn 是最好用的,有点半信半疑
1
IvanLi127 2022-07-01 18:10:07 +08:00
2022 年了,我觉得 npm 挺好的。
|
2
MEIyiyi 2022-07-01 18:11:04 +08:00 via Android
说最,那肯定是错的,只能说在当下还算好
|
3
walpurgis 2022-07-01 18:11:54 +08:00 via iPhone
pnpm 不服
|
4
sadfQED2 2022-07-01 18:13:07 +08:00 via Android
一直不知道有啥区别,从来都是 npm install
|
5
Leviathann 2022-07-01 18:25:15 +08:00
新项目我用 pnpm
|
6
Kaciras 2022-07-01 18:27:05 +08:00
都是垃圾,用 pnpm
|
7
christin 2022-07-01 18:30:24 +08:00 via iPhone
pnpm 好用 但是不知道为什么用 pnpm 装的包就起不来 用 yarn 就可以
|
8
ryougifujino 2022-07-01 18:34:47 +08:00
新项目首选 pnpm
|
9
tcpdump 2022-07-01 18:37:32 +08:00
听说前端开发 hello world 都是几百 M
|
10
FrankAdler 2022-07-01 18:59:19 +08:00
不是职业前端,感觉差不多,都说 yarn 快,貌似也快不到哪去,反正还是一堆 warning ,一堆 deprecat ,然后 npm run 起来就完了
|
12
v23x 2022-07-01 19:05:44 +08:00
都是垃圾 我用 pnpm
|
13
2218675712 2022-07-01 20:38:26 +08:00
实际体验 yarn 有问题
yarn 安装依赖的时候会校验全部的依赖项目,如果电脑硬盘是机械硬盘会非常卡顿 如果网络不好导致校验失败,会导致所安装的依赖装不上(npm 安装单个依赖不会校验) 个人感觉实际体验 npm 要比 yarn 好太多了 |
14
server 2022-07-01 21:33:44 +08:00
pnpm +1
|
15
wunonglin 2022-07-01 21:48:42 +08:00
pnpm +2
|
16
LiuJiang 2022-07-01 22:12:32 +08:00 2
yarn 和 npm 没啥区别,两者都是不断的构建 node_modules ,每个项目都会构建一份 node_modules ,这些包里面如果有 node_modules 就会递归的构建下去,磁盘占用特别大,pnpm 作者就看不下去了,说 yarn 搞了个这么玩意,我得改变下格局,ok ,搞了个 pnpm ,pnpm 字面意思就是 performant npm ,而 pnpm 安装的包会存储在可寻址的磁盘中,在多个项目同时引用时,只需要用一个硬链接指向该地址就可以使用,大大节约了磁盘空间,提高了效率
|
18
bojackhorseman 2022-07-01 22:38:12 +08:00 via iPhone
如果不是有些库比如 taro 用 pnpm 会出现依赖丢失问题,我肯定不会用 yarn 的。
|
20
dcsuibian 2022-07-01 23:16:41 +08:00
你安装后用用看就知道了,官网总共就几个命令。
这东西相比于 npm 的最大优点就是快(网络问题不归他管),但没有啥 yarn 能干而 npm 干不了的,你要用 npm 完全可以继续用。 npm 作为 nodejs 捆绑,泛用性强,也是首要支持考虑。比如你给别人写 Readme ,那 npm install 肯定优先。yarn 配合 nvm 还有些小问题。 |
21
foam 2022-07-01 23:21:11 +08:00
@yazoox #17 节省的主要是时间,例如原本需要 30 秒安装 node_module ,用 pnpm 可能只要 5 秒。
缓解了我的暴脾气 |
22
DOLLOR 2022-07-01 23:22:21 +08:00
node_modules 只有安装的时候会变化,而构建、开发的时候并不会变化。
作为开发者,挺喜欢每个项目自带一个 node_modules ,这样的好处是,安装好后直接打包一个 node_modules.7z 。 随便换一台电脑都能 3 分钟解压,立刻恢复所有依赖,不需要再次安装。 |
23
dcsuibian 2022-07-01 23:27:03 +08:00 3
前端包管理器是真的垃圾,一言不合就整个新库新工具,割裂。
npm / yarn / pnpm ,后两者纯粹是为了解决快的问题,为什么不能给 npm 来个版本升级呢? nrm / cyarn / cnpm / cpnpm ,就是换源,不会调设置项? 以前我还会给人推荐 yarn ,现在我建议直接 npm 。别跟他们瞎折腾。 |
24
gouflv 2022-07-02 00:26:04 +08:00 via iPhone
别信你这什么老师,误人子弟
|
25
daliusu 2022-07-02 00:40:25 +08:00
yarn 和 npm 我倒觉得没太大区别,npm5 还是几之后已经提升挺快了,而且这个主要影响感觉还是梯子。提升比较大的是 pnpm ,这个甚至可能你要重新装半天依赖
|
26
ecnelises 2022-07-02 00:40:40 +08:00 via iPhone
pnpm 在 Mac 上好像已经不是用硬链接了,而是直接 clone 文件( https://github.com/pnpm/pnpm/issues/1505 ),因为 APFS 有 CoW 机制,所以硬盘上实际只存一份,改动某个文件不会影响其他版本
|
27
GeruzoniAnsasu 2022-07-02 01:04:04 +08:00 1
npm cnpm pnpm 都遇到过依赖装不上的破问题
选 yarn 是因为暂时没遇到幺蛾子 贵生态圈是真的一言难尽 |
28
Trim21 2022-07-02 01:17:31 +08:00
不写大型 JS 项目。yarn 比 npm 麻烦的地方在于 yarn 装新包的时候就算不影响 node_modules 里面某个可执行文件原本的依赖,也得关掉程序装完了再重启。但是 npm 就无所谓。
|
29
Vegetable 2022-07-02 03:26:26 +08:00
没有历史包袱的话,直接用最新最流行的技术就好了。pnpm 不会错的。
|
30
Biwood 2022-07-02 08:41:27 +08:00 via iPhone 1
每家公司业务场景、开发模式不同,老老实实用 npm 完全没问题。真到问题多了,你自然会开始尝试别的东西。
前端开发最大的问题就是发展快,工具多,很多人喜欢跟风,凭感性做判断,甚至可能捡了芝麻丢了西瓜。你得明白这是做技术,讲究逻辑、实用,而不是去餐厅点菜。 |
31
lmoon 2022-07-02 12:19:49 +08:00 via Android
都是垃圾,我用 pnpm
|
32
binhb 2022-07-02 14:25:57 +08:00 via iPhone
感觉 yarn 确实快一点
反正,有问题就是 yarn npm 混着试 不过,我现在新项目都是用 pnpm |
33
encro 2022-07-02 16:51:54 +08:00
昨天一个 vue3 项目,
npm: 安装完成,运行报依赖的项目代码错误; yarn:请使用 nodejs 14 以后版本。 所以,用 npm 发现依赖错误的时候,不妨试试 yarn 。 |
34
Bingchunmoli 2022-07-02 17:21:56 +08:00 via Android
早期使用的时候特别大,现在不够明显了,之前 npm i 然后 error 看不懂,yarn 要是 securess 要么一行英文翻译一下就知道是什么错误了
|
35
Showfom 2022-07-02 19:12:38 +08:00
nodejs 16 开始已经自带 yarn 了
|
36
luohechen 2022-07-04 10:24:24 +08:00
@LiuJiang 其实 yarn 的 barry 版本或者最新的 3 还是和 npm 差别很大的,默认是 1.x 版本
|
37
luohechen 2022-07-04 10:28:19 +08:00
@DOLLOR yarn 2.x 以上版本是这样的,装包的时候在 node_modules 里面下载的是压缩包,然后编译的时候会按需展开,这些压缩包可以直接传到 github
|
38
SekiBetu 2022-07-22 05:33:33 +08:00
装 corepack ,通过 `corepack prepare 管理器 @版本 --activate` 来切换版本用,corepack 默认在新版 nodejs 内置, `corepack enable` 即可开启,默认内置了 npm 、yarn 、pnpm ,nodejs 未来的大趋势就是解耦,不再内置 npm ,让 corepack 发挥包管理器功能,corepack 命令成为默认的"npm"来切换三个包管理器
|