yarn 花了这么多精力去搞 2.0,3.0 版本, 1.x 几乎停滞不前. npm 是不是已经吊打 yarn1.x 了?
1
shakukansp 2022-07-24 23:06:44 +08:00
还 yarn 呢,现在流行 pnpm
|
2
ByteCat 2022-07-24 23:28:54 +08:00
pnpm 爽得一批,yarn 还不如用 npm
|
3
fpure 2022-07-24 23:33:58 +08:00
我用 npm
|
4
wunonglin 2022-07-24 23:36:14 +08:00
pnpm
|
5
helone 2022-07-24 23:42:37 +08:00 1
pnpm
|
7
dcoder 2022-07-25 04:05:52 +08:00 1
pnpm, 晃眼一看以为是 pxxn 站
你们前端这么折腾有意思么 XD |
10
qianxi0410 2022-07-25 07:50:07 +08:00 9
都什么年代了还在用传统包管理
|
11
GreatAuk 2022-07-25 08:00:23 +08:00
@ericgui @qianxi0410 对我来说就是快,然后自带简单实用的 monorepo 。
|
12
zhuweiyou 2022-07-25 08:02:49 +08:00
今天用 bun 了
|
13
Dragonphy 2022-07-25 08:36:49 +08:00
@qianxi0410 #10
1 ,5 |
14
christin 2022-07-25 08:41:30 +08:00 via iPhone
我也不想用,但离谱的是同一个项目,用 yarn 装依赖就能跑起来,用 pnpm 就跑不动。
|
15
dk7952638 2022-07-25 08:49:17 +08:00
yarn2 很牛逼很先进,自己定义了一套规范,和 bazel 一样需要强插使用者,所以我不看好 Yarn2 ,pnpm 是比较好的选择
|
16
theprimone 2022-07-25 08:50:49 +08:00
@christin 试试 shamefully-hoist https://pnpm.io/npmrc#shamefully-hoist
|
17
theprimone 2022-07-25 08:53:40 +08:00
最近还发现一个 pnpm 的优点,之前使用 patch-package 这个包修改 node_modules 中的代码,pnpm 直接支持 patch
命令修改,yarn v2 也支持,然而很久前用 v2 给我整懵了,现在默认都用 pnpm 了。 |
18
hoopan 2022-07-25 08:57:16 +08:00
我们公司用的 yarn ,如果用 npm 代码有 bug ,据说安装依赖的版本问题。
|
20
zhuweiyou 2022-07-25 09:07:03 +08:00 1
@Chingim #19 一体化的, 包含 pkg manager + devserver + bundle + runtime , bun install 的速度在我机器上比 npm 快两倍多
|
23
superchijinpeng 2022-07-25 09:14:56 +08:00
pnpm
|
24
moreant 2022-07-25 09:19:25 +08:00
pnpm
|
25
yekern 2022-07-25 09:19:26 +08:00
有墙都一样,该下载不下来一样下载不下来, 没墙都差不多.
|
26
suyuyu 2022-07-25 09:22:45 +08:00
pnpm +1
|
27
1543544726zy 2022-07-25 09:34:12 +08:00
why not all in docker 。你们问题依然是环境问题。环境问题当然是上大招啊。
|
28
stoluoyu 2022-07-25 09:36:16 +08:00
pnpm ,主要是省磁盘空间。
|
29
xiaojun1994 2022-07-25 09:37:28 +08:00
第一次用 pnpm 报错后就再也没有尝试
|
30
ltruntu 2022-07-25 09:40:04 +08:00 3
都是垃圾 有啥区别
|
31
EvilDevilJin 2022-07-25 09:43:56 +08:00
我选 pnpm
|
32
lanbatian 2022-07-25 09:53:02 +08:00
啊 我还在用 yarn...
|
33
sks4728 2022-07-25 09:58:08 +08:00
前端真是折腾
|
34
ryougifujino 2022-07-25 10:04:31 +08:00
已全面转向 pnpm 。
|
35
gongquanlin 2022-07-25 10:13:55 +08:00
很多环境 npm 装上异常,yarn 一把梭哈,完美的很
|
37
wangyzj 2022-07-25 10:28:33 +08:00
npm 因为少按一个字母
|
38
xcatliu 2022-07-25 10:34:18 +08:00
pnpm +1
|
39
zed1018 2022-07-25 10:34:51 +08:00
我之前的 yarn create-react-app 的项目转 pnpm 直接弄依赖不全,也懒得折腾了。反正过几年说不定还流行什么呢。
|
40
yx1989 2022-07-25 10:49:08 +08:00
点进来之前还以为是 Hadoop Yarn
|
41
wu67 2022-07-25 10:49:59 +08:00 3
前几年吹 yarn, 现在又吹 pnpm, 但这么多年过去了, 你看 npm 死了没?
日出东方, 唯 npm[手动狗头] |
42
DOLLOR 2022-07-25 10:59:26 +08:00 1
我选择 node_modules.7z🐶
|
43
TomPig0216 2022-07-25 11:08:00 +08:00
pnpm + 1
|
44
darkengine 2022-07-25 11:17:56 +08:00
$ yarn --version
1.22.18 咋了有问题吗 |
45
bk201 2022-07-25 11:22:08 +08:00 7
前端真有意思,包管理都能玩出花。这些包管理区别是啥?
|
46
wangtian2020 2022-07-25 11:30:43 +08:00
还在用 npm(nrm 管理镜像),因为用了两年了暂时还没感受痛点和痒点
|
47
wolfie 2022-07-25 11:51:11 +08:00
前端娱乐圈
|
48
lin07hui 2022-07-25 11:54:41 +08:00 1
|
49
Seanfuck 2022-07-25 11:57:49 +08:00 1
前端早就比 java 还折腾了,没什么要求限制的话还是 jquery 一把梭吧,给头上多留几根头发。
|
50
darkengine 2022-07-25 12:07:14 +08:00
@Seanfuck jQuery 到 vue, react, angular 还是有必要的,jquery 遇到复杂的前端逻辑维护起来要哭。至于 npm, yarn 这些工具还真不知道有啥好争的。
|
51
uni 2022-07-25 12:20:17 +08:00 1
好久没关注原来已经这么多人用 pnpm 了么,那感觉下次可以尝试一下了
|
52
christin 2022-07-25 12:35:06 +08:00 via iPhone
|
53
pkwenda 2022-07-25 12:52:18 +08:00
非前端,pnpm 用过,感觉也就用个 install ,我也不知道爽在哪
|
54
devwolf 2022-07-25 13:23:16 +08:00
pnpm 更直观的优点——在我这边被上级指示取缔 yarn 的理由是“打包能更快”。但是项目从 yarn 迁移到 pnpm 需要做很多配置适配,这个 webpack 理解不深的应该搞不来,至少我不行,这个是我这边前端 leader 搞定的。
|
55
MAGA2022 2022-07-25 13:27:44 +08:00
pnpm 好好做包管理还行,非要弄个 node 版本管理,大包大揽,不喜欢
|
56
magicdawn 2022-07-25 13:32:15 +08:00
yarn2 用着用着出问题了, 搜 issue 也搜不到, 解决不了
切到 pnpm, 再没出过我自己解决不了的问题... |
57
shuimugan 2022-07-25 13:32:19 +08:00
用 Node.js 写后端,习惯用 yarn 了,反正上生产都是用 pkg 打成二进制的。
|
58
magicdawn 2022-07-25 13:40:36 +08:00
关于 npm 比 pnpm 少打一个字母, 你就不会加 alias 么 :)
https://github.com/magicdawn/magicdawn/issues/48#issuecomment-1193089536 ```zsh # pnpm alias p="pnpm" # short alias pt="pnpm test" alias pd='pnpm dev' alias pb='pnpm build' alias pi='pnpm install' alias pa='pnpm add' alias pad='pnpm add -D' alias pag='pnpm add -g' alias pagp='pnpm add -g pnpm' # update pnpm self alias pnpm_add='pnpm add' alias pnpm_add_d='pnpm add -D' alias pnpm_add_g='pnpm add -g' alias pnpm_add_g_pnpm='pnpm add -g pnpm' # update pnpm self # alias padt='pnpm add -D @types/' # alias pnpm_add_d_types='pnpm add -D @types/' # https://stackoverflow.com/questions/38558401/add-prefix-and-suffix-to-in-bash fuction pnpm_add_d_types(){ echo $" [exec]: pnpm add -D "${@/#/@types/}"" pnpm add -D "${@/#/@types/}" } alias padt="pnpm_add_d_types" ## mocha alias pmo="pnpm mocha" alias pmocha="pnpm mocha" alias pmod="pnpm mocha --inspect-brk" alias pmochad="pnpm mocha --inspect-brk" ``` |
59
ByteCat 2022-07-25 14:12:28 +08:00
@bojue #6
@swift #8 @ericgui #9 - 如果说 yarn1 比 npm 更快的话,pnpm 的 统一下载 + 软链 方式更是快得多,基本上两三秒就完成了所有依赖的安装,几乎不需要等待(在 Windows 上尤为显著,这也是我换用 pnpm 的主要原因); - yarn3 的问题很多,之前就算安装 cra 的依赖,也无法启动项目,用过一次,改动也很大,网上的教程如果使用 yarn ,那么基本都是指 yarn1 ; - 现在很多开源项目中都出现了使用 pnpm 安装的说明(例如 Vite ),用的人也越来越多了。 缺点: - 对 pnpm 最好用在新的项目中,因为锁定依赖使用的是自有的 `pnpm-lock.yaml`。 其他: - 选用哪个包管理器比较主观,可以自行下载来试一下。 |
61
lneoi 2022-07-25 14:18:06 +08:00
已经在搞 4.0 了...
|
64
hahasong 2022-07-25 14:44:12 +08:00
yarn 还没学会又出新工具了 前端学习成本这么高吗
|
65
qfdk 2022-07-25 14:50:42 +08:00
@magicdawn #63 no,并不是这样的,因为维护了个老项目,里面的的指令执行起来都怪怪的, 经过查找发现有人把 .bashrc 里面加上了 alias 让人头大。 其实我想说的是 公共服务器还是不要,当然个人开发机器随便。
|
66
kamilic 2022-07-25 15:00:29 +08:00
老早就转 pnpm 了,硬盘友好型工具。。
如果他们用 package-lock.json 来对齐 npm 那就很好了。 |
69
magicdawn 2022-07-25 15:19:57 +08:00
@qfdk #68
这个 topic 是 "2022 年了, 还在用 yarn 还是 pnpm", 你给扯到 CI 去了 alias 肯定是日常大量使用啊, 谁没事跑服务器低频使用的情况 就算是服务器, 如果大量使用, 也不是不行. 在设计好的前提下, 更不容易出错. 当然你说的 alias cd="rm -rf /" 这种作恶形式必须追责到人. 人品问题 |
70
qfdk 2022-07-25 15:23:38 +08:00 via iPhone
@magicdawn 因为永远不了解离职 infra 的人会干些什么... 发现一次就够了. 不好意思我扯远了,看到的朋友提个醒 上手新机器,敲命令前看看 alias
|
71
libook 2022-07-25 15:31:08 +08:00
没正经对比过,一直优先使用 npm ,除非跑不起来且项目说明明确必须使用 yarn 。
梯子给力一些(或者用个好用的镜像),有问题就删 node_modules ,尽可能利用 lock 文件,能把问题发生的概率显著降低。 这个问题跟用 docker 关系不大,凡是涉及到第三方依赖的,基本绕不过包管理器,就连打 docker 镜像的时候都经常需要用包管理器装依赖。 |
72
xx6412223 2022-07-25 15:50:53 +08:00
前端就不能把创意搞到 tools 之外吗
|
73
CaptainD 2022-07-25 15:56:02 +08:00
我还以为是 Hadoop Yarn
|
74
fkdog 2022-07-25 16:05:02 +08:00
三年没写过 js ,才发现又变天了。。。
都不用 npm yarn 了么。。又出了个新玩意。。 |
75
qshu 2022-07-25 16:17:14 +08:00
pnpm
|
76
meteor957 2022-07-25 16:18:20 +08:00
pnpm + 1
|
77
Bingchunmoli 2022-07-25 16:55:22 +08:00 via Android
表示 npm 早期报错太多习惯先用 yarn 了
|
78
bthulu OP @ByteCat pnpm 在 windows 上真的有用吗? 我试过同硬盘复制一个项目安装, 事后直接看磁盘占用, 只能说勉强能用的样子. 比如说 npm 复制一份安装依赖有 800M, pnpm 复制一份安装也有 500M 多, 但是文件数量反而更多了, 简直鸡肋.
linux 上看到有人说 pnpm 复制一份安装占用为 0, 不知是真是假 |
79
rodrick 2022-07-25 19:01:27 +08:00
react vue angular svelte webpack vite rollup npm yarn pnpm 作为一个前端我都觉得累得慌
|
80
dongtingyue 2022-07-25 19:37:27 +08:00
前端真的是越来越坑,一个项目代码运行起来都要看运气
|
81
zxCoder 2022-07-25 20:15:01 +08:00
咋又出新的了????我才刚从 npm 换到 yarn
|
82
KeyboardManAnAn 2022-07-25 20:51:52 +08:00
@bk201 iOS 开发的包管理器也都有三种, 分别是 CocoaPods, Carthage 和官方的 SPM, 除了给社区制造分裂, 后来者其实每次都是对前者的一点点改进(或倒退
|
83
bthulu OP @KeyboardManAnAn 为啥都不喜欢在原来的基础上改进而喜欢另起炉灶呢
|
84
ragnaroks 2022-07-25 21:38:32 +08:00
@bthulu 大概是上游不接受 PR 吧,不说这些包管理,可能因为本身编码难度低,经常我提个 PR 给我关了然后上游自己写个差不多的补丁,比如 axios 、next-pwa 、jotai 、echart ,累了真的,要不是懒得自己写我也直接 fork 一个出新的了
|
85
shakukansp 2022-07-25 21:55:09 +08:00
|
86
mritd 2022-07-25 22:15:44 +08:00 via iPhone
求求了 不要再乱搞了 搞 CI 的真想哭🥲
|
87
bthulu OP @shakukansp 很抱歉, 第一条针对的是 Linux, windows 是用 junctions 实现的. 我看空间占用也不是看的项目下的 node_modules 的大小, 而是直接看磁盘总空间占用大小的. 你每份 1MB, 复制 100 份, linux 下硬链接你去检查这一百份文件夹下的 node_modules 大小都是 1MB, 那么是不是就占用了 100M 呢? 显然不是的, 你直接看磁盘空间占用, 它只增加了 1MB.
但是回到 windows, 你再看磁盘空间占用, 会发现也没有增加 100M, 而是增加了 60M 以上. 对比 Linux 来说, 几乎就是半成品实验性质的. |
88
kanlidy 2022-07-26 00:44:00 +08:00 via iPhone
看看开源项目,yarn 有一席之地
|
89
xqk111 2022-07-26 11:06:45 +08:00
还是用 npm ,其他两个不咋了解
|
90
zxbutton 2022-07-26 11:15:09 +08:00
我还以为是 apache hadoop yarn
|
91
hunter0122 2022-07-26 11:38:00 +08:00
@DOLLOR 你这个牛
|
92
wisetc 2022-07-26 13:04:47 +08:00 via iPhone
就没人用 cnpm 么 dog head
|
93
shakukansp 2022-07-26 15:45:49 +08:00
@bthulu 总之比 npm 好啊
|
94
Jtyczc 2022-07-26 18:19:18 +08:00
哈哈哈,没写 js 几年,现在居然又换了 pnpm
|
95
JDog 2022-07-26 18:36:53 +08:00
贵圈儿还真是喜欢造轮子啊...
|