甚至看不到 npm 官方有任何要改进的意思,例如抢包名的依旧在抢包名
我不禁陷入了沉思
是否意味着这届程序员不行(滑稽
1
crysislinux 2018-04-12 16:03:27 +08:00 via Android
说明没啥好办法啊
|
2
muziki 2018-04-12 16:04:44 +08:00 via iPhone
yarn 试试?
|
3
mokeyjay OP |
4
bullettrain1433 2018-04-12 16:11:26 +08:00
yarn 啊
|
5
SakuraKuma 2018-04-12 16:11:48 +08:00
所以产生了 yarn。
然后 npm 又学起了 yarn。 可惜已经太晚了,很多人跑去 yarn 了。 |
6
huiyifyj 2018-04-12 16:12:05 +08:00 via Android
npm 占包名是没办法啦,但是没有像域名那样恶意,可是因为多了,有包名也没办法啊,就像你注册一个网站的昵称,被抢了也没办法啦。
所以你会发现现在越来越多的包以 @.../命名了。哎,这也没办法啊。 不过官方有时候确实不作为。 |
7
mokeyjay OP @huiyifyj #6 并不是没办法,这个很好解决啊,前面加用户名不就好了。例如 php 的 composer 就是 “ github 用户名 /repo 名” 来作为包名的,完美解决冲突
|
9
grewer 2018-04-12 16:27:43 +08:00
除了抢包名,楼主详细说下其他不合理的地方啊,光是一味地说垃圾是没用的
|
10
doubleflower 2018-04-12 16:52:57 +08:00
光瞎 bb 了哪个不合理你列几个出来?
|
11
mooo 2018-04-12 16:59:31 +08:00
@mokeyjay 现在好的都用 @了,比如新的 babel 就是用 @组织 /XXX 作为包名的。 用 github 用户名的话 npm 不一定要发布的 github 上吧。
|
12
Eoss 2018-04-12 17:32:44 +08:00 via iPhone
楼主具体列下哪些不合理呗。
没用过其他包管理工具。列一下学习学习。 |
13
superluckykoo 2018-04-12 17:39:38 +08:00 via Android
已转投 yarn,碰到过 npm 安装依赖包不全,或者新增依赖时删除了其他依赖包,主要是 rn 项目用 npm 出错概率比较大
|
14
qfdk 2018-04-12 18:16:04 +08:00 via iPhone
我感觉还好 目前为止没有碰到什么问题 这种还是靠谱的 别的就算了吧
|
15
SirLostWhite 2018-04-12 18:21:31 +08:00
第一次搞 npm 搞了一下午
结果转 yarn 半小时搞定 yarn 万岁! |
16
mwVYYA6 2018-04-12 19:29:30 +08:00
@SirLostWhite 黑的漂亮
|
17
murmur 2018-04-12 19:34:12 +08:00
npm2 那个目录结构超级 sb
但是 npm3 改成了扁平目录结构 即便是在 windows 下也不太会出现问题了 既然没问题干嘛要换 |
18
wenbinwu 2018-04-12 20:37:44 +08:00
眼高手低,有意见提 issue 交 pr 去
|
20
bojackhorseman 2018-04-12 21:12:50 +08:00 via Android
充满了 what-the-fuck-is-this-plugin 的模块 2333
|
21
monsterxx03 2018-04-12 22:04:45 +08:00 via iPhone
随手看下 node_modules 里乱七八糟的依赖,发现好多 is-xxx, in-xxx 的模块,主体代码都不超过 5 行....这事从来没在其他语言里看过
|
22
lzvezr 2018-04-12 22:22:30 +08:00 via Android
@monsterxx03 left-pad 了解一下?
|
23
lihongjie0209 2018-04-12 22:23:43 +08:00
因为用 js 的程序员很少接触其他更好的包管理工具, 当没有对比的时候, npm 自然就是完美的
|
24
FrankFang128 2018-04-12 22:26:54 +08:00
因为 JS 程序员觉得 NPM 是完美的~!
|
25
crysislinux 2018-04-12 22:30:04 +08:00
其他的包管理也不是没用过,也没比 npm 好到哪儿去。
|
26
msg7086 2018-04-12 23:26:52 +08:00
Yarn 提起得少?去 Ruby 论坛看看吧,Yarn 都成 Rails 5.1 钦定 JS 包管理工具了。
|
27
LeungJZ 2018-04-12 23:28:34 +08:00
yarn 路过。
但是好像 `yarn add` 会重新安装一些包。 反正我的项目就是,迫于无奈,只能改原包中的样式,但是每次 `yarn add` 后,样式又被恢复了。。。 |
28
chinvo 2018-04-13 00:26:37 +08:00 via iPhone
npm 的 namespace 是付费功能来着
|
29
viko16 2018-04-13 00:27:00 +08:00 via Android
@monsterxx03 库作者用了什么依赖可不是 npm 的锅…
|
30
aipansiyouyun 2018-04-13 00:31:18 +08:00 via Android
看成 mmp 了 ,😖
|
31
crs0910 2018-04-13 00:33:39 +08:00 via Android
没看明白,说的缺点跟用 yarn 还是 npm 有啥关系
|
32
qiumaoyuan 2018-04-13 00:35:28 +08:00 via Android
因为楼主还没开始着手写取代它的产品
|
33
Pastsong 2018-04-13 00:38:22 +08:00
@LeungJZ 原包的东西就是不能改,要么项目里覆盖,要么自己 fork,还有就是 postinstall 脚本,不然包管理就没有意义
|
35
334132462 2018-04-13 08:02:32 +08:00
因为是钦定的
|
36
mritd 2018-04-13 10:04:57 +08:00 via iPhone
说实话,每次弄 node 的 ci 我都怀疑这东西存在的合理性;目前始终不理解:
为什么一个前端工具动不动就要装 gcc 编译 c++啥的玩意 都是下载外部依赖 node module 目录为啥不能通用,为啥不能 cache (可能是我没找到) 为毛线 node module 轻则百兆,动辄上 G 下载编译过程为啥总要依赖系统工具,譬如 py2 (系统已经有了 py3) 最不理解的一点就是撸了好几年后端代码,用 npm install 的时候我就没见过没有⚠的项目 最蒙蔽的就是我发现这玩意好像都不锁版本号,so 不同时间点用同样的命令..... WTF |
38
breeswish 2018-04-13 11:03:35 +08:00
楼主这不典型的喷吗?请先列举一下你觉得不好的地方。
@mritd 系统有了 py3 还需要下个 py2 的原因心里还不清楚吗 :) 这两货又不通用。当然,blame node-gyp 没有升级到 py3。 |
39
ly529 2018-04-13 12:04:53 +08:00
进了帖子才发现 ve2x 可以这么酷炫
|
40
doubleflower 2018-04-13 12:59:05 +08:00
@lihongjie0209 什么叫当没有对比的时候 npm 是好的,我就没见过更好的
|
41
lihongjie0209 2018-04-13 13:01:54 +08:00
@doubleflower #40 见识少不是你的错, 但是你那拿出来炫耀就不对了
|
42
Clarencep 2018-04-13 13:14:32 +08:00
|
43
Tankpt 2018-04-13 14:18:19 +08:00
我猜是应该没找到更好的方案? 所以只能先将就了?
|
44
Cryse 2018-04-13 15:51:09 +08:00 via Android
最恶心的明明是用来编译的 node-gyp
|
46
Miy4mori 2018-04-16 18:46:42 +08:00
很多啊,yarn,cnmp 还有几个其他的记不起名字。这东西要那么高要求干什么,能给我 install 就行了,,要求高可以去写 java,maven,gradle 之类的功能可全了。
|
47
L3au 2018-04-17 12:51:06 +08:00 via iPhone
看下来,node-gyp、不能全局共享 node_modules 很大程度上其实和 Node 设计有关,不是那么好兼容的同时做出大的改变的,包名、小模块、版本默认自动升级等更多是整个 JS 社区生态的现状,是和老牌的包管理工具是有区别,各有各的特点吧
|