npm 包 安装,重装 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eromoe
V2EX    Node.js

npm 包 安装,重装 的问题

  •  
  •   eromoe 2016-06-14 11:43:19 +08:00 8861 次点击
    这是一个创建于 3436 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近学 react redux 之类的东西, npm 用的比较多,发现很多问题

    1.npm install 有时候会出一堆错,完成后重新运行 npm install 又什么错都没有了(python 的 pip 就会自动安装没装过的包,虽然还是会出错,就是能看哪些错的。 但是 npm 给我的感觉不是这样,经常第二次什么错都不报了)

    2.有时候 npm install 项目可以运行,有的时候不行,可能的解决办法是

    * 再执行 npm install 后 莫名其妙又可以了
    * 再执行 npm install 后不行,要删除 node_modules 重新 npm install (可能要重来多次)
    * 添加某个包后,项目出问题 npm remove xxx 没效果(还有可能出现别的错误)
    * npm remove xxx , npm install xxx 整个项目就起不来了,又要删 node_modules 重装。。。

    3.npm 给我的感觉是 把 node_modules 删了以后,每次都重新下载,都没有用之前下过的缓存,非常低效,每次出问题重新安装都慢死了,很难受。。。。

    希望大触来给说明说明。。。我实在搞不懂这些奇葩的问题是怎么发生的。。。


    PS :环境是 windows 8.1 , npm 源 已经改为淘宝 (改~/.npmrc 文件的方法)
    第 1 条附言    2016-06-14 13:15:38 +08:00
    因为有些包安装出错都提示叫我升级到最新的,所以都是最新的了

    E:\Project\blog>npm -v
    3.8.3

    E:\Project\blog>node -v
    v6.2.0
    15 条回复    2016-06-23 14:02:01 +08:00
    fds
        1
    fds  
       2016-06-14 11:59:32 +08:00
    我的经验是 npm install 失败后,需要指定具体失败模块 npm install xxx 来重新安装。
    如果涉及二进制文件编译的,还有个 npm rebuild 命令。

    * npm remove xxx , npm install xxx 整个项目就起不来了
    这种问题我没遇到过。是不是项目依赖有什么冲突。

    最好加下 npm 版本号。
    mgcnrx11
        2
    mgcnrx11  
       2016-06-14 12:02:39 +08:00
    ~/.npm 目录有缓存的( Windows 好像在 AppData 里面),慢是因为他要连官网去 check 更新,动不动就几百 M 的 modules 重新复制解包,以及那神奇的进度条拖慢了
    eromoe
        3
    eromoe  
    OP
       2016-06-14 12:48:44 +08:00
    @fds npm install 经常会有什么编译失败之类的,但是貌似问题不大,有的时候能把项目跑起来,跑步起来就重新 npm install, 确实错误信息 会有一些写着 npm build 的,但是好像不是这个问题

    @mgcnrx11 唉。。。这安装和删除的速度实在让人受不了啊。。。。
    learnshare
        4
    learnshare  
       2016-06-14 12:57:18 +08:00
    npm install --loglevel silly
    能看到完整的日志,比较方便查找安装失败的原因。
    不过一般都是整个 mode_modules 删掉,重新来。因为偶尔也会遇到安装正常,但无法执行的问题。
    eromoe
        5
    eromoe  
    OP
       2016-06-14 13:19:15 +08:00
    @learnshare 我现在碰到问题也只能删 node_modules 重装
    就是觉得 node 社区这么大,怎么连一个包管理都有问题。。。这问题超难受。。。碰到大项目等半天。。。结果还是不行,删掉重来 T T
    fds
        6
    fds  
       2016-06-14 13:49:06 +08:00
    warning 没什么关系, error 要重视起来。
    你既然能重现,那应该在项目跑不起来的时候看看到底是哪里出了问题,所有 node_modules 都有源代码的,直接在里面加些 log 就行。时间紧的话可以删了重装,时间宽裕的情况下应该仔细研究下,避免今后再遇到。

    另外 node6 太新了,现在 node4 才是 lts 。公司项目用 npm 部署没遇到你这些问题。
    learnshare
        7
    learnshare  
       2016-06-14 13:54:50 +08:00
    @eromoe 其实 npm/git 本身出的问题并不多,主要坑在网络环境上。
    scarlex
        8
    scarlex  
       2016-06-14 13:55:19 +08:00
    觉得慢的话你可以试试淘宝源
    https://npm.taobao.org/
    eromoe
        9
    eromoe  
    OP
       2016-06-14 13:58:55 +08:00
    @scarlex 请看主题,我一开始就上淘宝源了
    eromoe
        10
    eromoe  
    OP
       2016-06-14 14:10:06 +08:00
    @fds 之前也是用 4 的 lts ,前 2 天碰到项目,安装完起不来, npm 提示是请把 node 升级到最新,如果还是出错那就联系作者,之类的意思,然后 github 里看到很多人都是用 5.0 以上的,有些包有的人说升级到 5.6 就没问题了
    所以我就升了
    eromoe
        11
    eromoe  
    OP
       2016-06-14 14:11:06 +08:00
    补充上面的,后来发现不是版本的问题,还是 node_modules 的问题,因为删了 2 次都出错,还以为是我装错了。。。
    第三次删了装就好了。。。
    youxiachai
        12
    youxiachai  
       2016-06-14 14:14:37 +08:00
    用 npm...在 windows 很容易碰到路径过深的问题....
    youxiachai
        13
    youxiachai  
       2016-06-14 14:16:04 +08:00
    还有..用淘宝源..不意味着你的网络一定好......

    保险起见...npm -d 走起吧..起码刷刷的看上去蛮有成就感..
    mgcnrx11
        14
    mgcnrx11  
       2016-06-14 14:37:49 +08:00 via iPhone
    用淘宝源但遇到一些要从 npm 之外的地方下载包的情况也是会失败的,如 phantomjs ,遇到了还得深入研究设置专门的源
    xuzicn
        15
    xuzicn  
       2016-06-23 14:02:01 +08:00
    https://github.com/xuzicn/share/blob/master/%E4%BB%8ERN%E7%9C%8B%E7%AC%AC%E4%B8%89%E6%96%B9%E5%8C%85%E4%BE%9D%E8%B5%96%E7%AE%A1%E7%90%86.md

    这是我之前在一个群里分享的 RN 在 npm install 里的坑。有简略的剖析 npm 的运行机制,可能比较难啃,可以留言交流
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     931 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:41 PVG 04:41 LAX 12:41 JFK 15:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86