1
ixiaohei 2013-11-28 15:35:19 +08:00
表示没有用过
|
2
otakustay 2013-11-28 15:46:45 +08:00
npm烂得我不太想捐赠……经常装个packget因为网络不通啊平台不对啊失败结果npm自己也消失了,非得重装node去,这是啥水平
|
3
coolicer 2013-11-28 15:54:23 +08:00
楼上的不是写node的吧
|
5
meteor 2013-11-28 16:24:38 +08:00
|
6
maxiujun 2013-11-28 16:56:25 +08:00
跟 npm 比起来下面这个速度明显不行,哎
https://www.bountysource.com/fundraisers/489 |
7
otakustay 2013-11-30 16:42:06 +08:00
|
8
subpo 2013-11-30 16:57:37 +08:00
@otakustay
好烦啊又要打一堆字,你不能好好试试再说嘛 1.update到一半断掉,文件夹删掉重装就好,npm不会把包装到别的地方去,没有任何问题; 2. 如上图,我还专门试了一次,哪里看到先uninstall再下载再install了?就算真的这样,也不失为一种简单粗暴的方式 3.npm被影响绝不会是下载包的问题,后台做的事情就是下载,解压,c++的包编译下,能出什么事情啊 哪里还有什么比npm更好用更简单,体验更好的包管理器,bundle,yum也差得远呢 |
9
otakustay 2013-11-30 19:39:42 +08:00 via iPhone 1
@subpo 我们整个开发体系是在npm之上构建的,我们有内部npm registry。工程师是以逻辑严密著称的,我很想知道从“遇到过npm坏掉和包坏掉”这么自由的事是怎么推理出这个人“不写nodejs”的,或者说脱离的结果是“我在完全无厘头用谎言抹黑npm”吗?
npm自己坏掉是个很稀有且神奇的事,大概前提是这样: 1. 全局安装包 2. 这个包有native东西的依赖,比如karma这种包就会依赖些native的 3. 碰巧npm自己也依赖这东西(这个暂时只是推理,正在慢慢查原因) 4. 这个包在update命令运行时,下载完成后,正在编译安装时,被中断了 此时的表现是,直接没npm这命令了,最简单的方法是重装node,复杂的可以自己去把npm找到link回来 我们的构建平台就是npm上的一个包,依赖包大概100来个,就会出现前面说的问题,最近我正在一个一个排查是哪个依赖的原因,但就这个事实要我说npm是最好的包管理器我无法认同 在我眼里NuGet都不比npm差,纯前端的bow也能和npm打平,这种所谓最好的事情主观因素是不是太大,你有信心说服一个java工程师npm好过maven吗? |
10
otakustay 2013-12-01 02:14:20 +08:00
@subpo 再提供个实例吧,什么叫“npm把自己给玩坏了”,大概就是这样:
https://gist.github.com/otakustay/7722436 看到最后几行,npm这个命令已经不存在了对吧…… 这个问题的原因其实也不难,npm把npm自己当成了一个全局的包在做事,这种理念我认为是先进的(不对自己特殊对待),但也导致了不少情况下的脆弱性(比如现在) 另外,出现这种错误当然也是有原因的,前面一次更新时,在build一个叫istanbul的库的时候被我给CTRL+C了,随后再进行sudo npm update -g就会成这样 我当然理解npm在包管理这件事上,从理念到实践基本还是能得到高分的,但作为一个程序,它本身是不是脆弱得有点过分了? 好吧为了重现下这问题(老实说还真挺容易出现的),我又得去重装nodejs了 |
11
tangzx 2013-12-01 09:04:57 +08:00 via iPhone
你这个问题我我到过,你是通过 homebrew 安装 nodejs 的吧,那就先 brew update && brew upgrade 再进行 sudo npm update -g 而且不要经常进行这个操作,是有风险的,因为 Isaac 总是单方面行动更改约定,homebrew 总是慢一拍,搜一搜过去的 Issue 就明白
@otakustay |
13
meteor 2013-12-09 13:56:58 +08:00
这个帖子下面在干嘛?
|