V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zarte
V2EX  ›  Node.js

吐个 nodejs 的槽

  •  
  •   zarte · 2018-06-25 18:07:37 +08:00 · 7686 次点击
    这是一个创建于 2342 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上次折腾 py 因为墙的问题弄了好久。这次弄 node.js 换了阿里的镜像结果 install 的依然各种卡各种报错。 神奇的是再执行一次一般能成功,或者清下缓存。

    22 条回复    2018-07-14 16:52:12 +08:00
    jimliang
        1
    jimliang  
       2018-06-25 18:12:00 +08:00   ❤️ 1
    nodejs 的依赖管理已经变成玄学了,npm 和 yarn 的行为可能不一致。可能会出现 --> npm 成功 yarn 报错或 npm 报错 yarn 成功。
    Pastsong
        2
    Pastsong  
       2018-06-25 18:24:56 +08:00 via Android   ❤️ 1
    全局代理就没问题了
    luoway
        3
    luoway  
       2018-06-25 18:41:18 +08:00   ❤️ 1
    @jimliang 一般删掉 packgage-lock.json 就好了,这个文件存在的意义大概是跑分用的
    Mbin
        4
    Mbin  
       2018-06-25 19:10:42 +08:00
    确实这是个玄学问题,用 Node 做开发语言一年半了,没少受 npm 依赖管理的毒害,有时候气得直冒汗,他娘的就是没办法...
    hareandlion
        5
    hareandlion  
       2018-06-25 19:11:31 +08:00 via Android
    package-lock.json 是为了私有 npm 源用吧?
    inflationaaron
        6
    inflationaaron  
       2018-06-25 22:26:45 +08:00
    比黑洞还深的 node_modules 不吐槽一下么……这时候就想起二进制分发的好了
    poorcai
        7
    poorcai  
       2018-06-25 22:40:11 +08:00
    哈哈哈正在学 node 表示害怕
    mooncakejs
        8
    mooncakejs  
       2018-06-25 22:40:23 +08:00 via iPhone   ❤️ 3
    npm set registry https://registry.npm.taobao.org \
    && yarn config set registry https://registry.npm.taobao.org \
    && npm set disturl https://npm.taobao.org/dist \
    && npm set chromedriver_cdnurl http://cdn.npm.taobao.org/dist/chromedriver \
    && npm set operadriver_cdnurl http://cdn.npm.taobao.org/dist/operadriver \
    && npm set phantomjs_cdnurl http://cdn.npm.taobao.org/dist/phantomjs \
    && npm set fse_binary_host_mirror https://npm.taobao.org/mirrors/fsevents \
    && npm set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass \
    && npm set electron_mirror http://cdn.npm.taobao.org/dist/electron/
    能解决 80 的问题
    plqws
        9
    plqws  
       2018-06-25 22:42:25 +08:00 via iPhone
    换个 vpn 上全局代理就再也没遇过这些问题了
    janxin
        10
    janxin  
       2018-06-25 22:44:10 +08:00
    node 的包管理就是一个灾难,各种难受
    上一个项目刚刚还成功,新开一个就不能用了
    mooncakejs
        11
    mooncakejs  
       2018-06-25 22:49:04 +08:00 via iPhone
    第一次 install 失败,第二次成功,基本是坏的
    aaronly
        12
    aaronly  
       2018-06-25 23:05:42 +08:00
    说实话,从来没遇到任何依赖安装的问题,登云梯前提下。下载不了依赖不是 npm 和 yarn 的问题。
    stormpeach
        13
    stormpeach  
       2018-06-25 23:23:49 +08:00   ❤️ 1
    node 好歹还有官方镜像,golang 在国内连个镜像都没有。。。
    Cbdy
        14
    Cbdy  
       2018-06-26 07:49:07 +08:00 via Android
    确实玄学,被这个坑了一个下午,最后用 yarn 勉强能用
    nanzm
        15
    nanzm  
       2018-06-26 09:18:30 +08:00
    你们的问题很大程度上是 墙的问题 8 楼的 就是解决方案
    petermu
        16
    petermu  
       2018-06-26 09:27:21 +08:00
    你这个锅怕是 npm 不背。国内这些源本来就有问题,官方源很少有问题。
    YardWill
        17
    YardWill  
       2018-06-26 09:42:29 +08:00   ❤️ 1
    一些人还没深入了解 npm 的模块管理机制,就开始吐槽 npm,就不能花点时间看看 npm 的模块管理机制是怎么样的?不花点时间翻翻墙?黑洞般的 node_modules 那是什么年代了?
    wbgbg
        18
    wbgbg  
       2018-06-26 10:17:43 +08:00
    说官方源稳定的可以看一下 https://status.npmjs.org/history
    egen
        19
    egen  
       2018-06-27 11:48:45 +08:00
    @mooncakejs #11 这个比较坑,第一次失败会出现模块安装一半的情况,但是第二次安装会认为这个模块已经安装成功了,不会再次安装
    mooncakejs
        20
    mooncakejs  
       2018-06-27 12:15:49 +08:00
    @egen 谁让 npm 包是个文件夹而不是一个类似于 jar 的 zip 呢, 打个包就能解决很多问题了。
    mapleincode
        21
    mapleincode  
       2018-07-01 02:54:05 +08:00
    可以贴下报错的错误代码么。
    sohoorc
        22
    sohoorc  
       2018-07-14 16:52:12 +08:00
    @jimliang 这个是深有感触
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:16 · PVG 18:16 · LAX 02:16 · JFK 05:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.