V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tvallday
V2EX  ›  程序员

为什么 npm install 有些 package 死活下载不了?

  •  
  •   tvallday · 2018-05-07 17:57:47 +08:00 · 7973 次点击
    这是一个创建于 2390 天前的主题,其中的信息可能已经有所发展或是发生改变。

    试过更换到淘宝源,试过给终端设 http 代理,每次 npm install 都等超级久搞到网络断掉然后报错。要我重新在浏览器刷新网页才能继续上网。

    但是我到网页下载那个 package 又好好的非常快。搞不懂什么问题。

    第 1 条附言  ·  2018-05-08 09:58:03 +08:00
    最后要让人从国外打包 node_modules 发给我才行,痛苦。。。
    59 条回复    2018-05-09 11:27:18 +08:00
    defunct9
        1
    defunct9  
       2018-05-07 18:19:45 +08:00
    必须翻出去,否则装的包有毛病,天知道是什么问题
    tvallday
        2
    tvallday  
    OP
       2018-05-07 18:32:53 +08:00
    @defunct9 设置命令行的 http 代理也没有用,始终都下到一半自动掉线。有什么办法?我要下个几十上百兆的东西结果弄了几个小时,真是无奈。
    loryyang
        3
    loryyang  
       2018-05-07 18:39:48 +08:00
    能用 docker 不?别人有已经制作好的 docker
    learnshare
        4
    learnshare  
       2018-05-07 18:40:10 +08:00
    --loglevel silly 看一下卡在哪里,针对性的解决一下
    很多资源依然是从 Github 上下载的,换 cnpm 也没用
    kunluanbudang
        5
    kunluanbudang  
       2018-05-07 18:41:59 +08:00 via Android   ❤️ 1
    很多包有其他依赖,甚至还需要从 AWS 下载


    必须全局 fq
    tvallday
        6
    tvallday  
    OP
       2018-05-07 18:42:52 +08:00
    @loryyang 暂时 team 里面不用。¯_(ツ)_/¯
    kimown
        7
    kimown  
       2018-05-07 18:50:14 +08:00 via Android
    因为墙😂,都是泪水
    kidlj
        8
    kidlj  
       2018-05-07 19:00:02 +08:00 via iPhone   ❤️ 1
    $export HTTP_PROXY=http://ip:port
    $export HTTPS_PROXY=HTTP_PROXY
    tvallday
        9
    tvallday  
    OP
       2018-05-07 19:15:28 +08:00
    @kunluanbudang ╮(╯-╰)╭ 全局了也中途断掉。
    panyanyany
        10
    panyanyany  
       2018-05-07 19:23:37 +08:00
    其实就算翻了墙有些依赖包也是死活安装不正确的,反正现在安装我只用 yarn
    dokimaster
        11
    dokimaster  
       2018-05-07 19:30:59 +08:00 via Android
    可以试试 cnpm
    redsonic
        12
    redsonic  
       2018-05-07 19:31:24 +08:00
    奇怪了这里没人推荐用 taobao 那个镜像源。 不过我不推荐,不清楚 npm 包的发布是怎么审的,已经有报道指出一些包里面夹带私货。
    fulvaz
        13
    fulvaz  
       2018-05-07 19:36:21 +08:00
    @tvallday 很明显没全局成功啊

    proxychains4
    xingyue
        14
    xingyue  
       2018-05-07 19:38:59 +08:00 via Android
    楼主报的错误是不是 503 ?
    tvallday
        15
    tvallday  
    OP
       2018-05-07 20:01:49 +08:00
    @fulvaz 全局上其他网站从来没失败过。只有 npm install 失败了。
    crysislinux
        16
    crysislinux  
       2018-05-07 20:18:21 +08:00 via Android
    上其他网站没失败过是什么概念,浏览器上么。
    tvallday
        17
    tvallday  
    OP
       2018-05-07 20:19:05 +08:00
    @crysislinux 对的,命令行用的也是同一个 http 代理。
    tvallday
        18
    tvallday  
    OP
       2018-05-07 20:23:46 +08:00
    @crysislinux 命令行用 curl ip.cn 也会显示代理服务器的 ip。
    lihongjie0209
        19
    lihongjie0209  
       2018-05-07 20:29:50 +08:00
    本地建一个私服, 实在不行手动上传..
    azh7138m
        20
    azh7138m  
       2018-05-07 20:36:37 +08:00
    node-sass ?
    export SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass
    了解一下
    fulvaz
        21
    fulvaz  
       2018-05-07 20:42:07 +08:00
    @tvallday 命令行和网页是不一样的
    POPOEVER
        22
    POPOEVER  
       2018-05-07 20:42:37 +08:00
    @redsonic 楼主帖子第一句了解一下

    @azh7138m 这样可以直接装吗?我这边是每次装 node-sass 就要本地编译一次,也不知道发什么深井冰
    tvallday
        23
    tvallday  
    OP
       2018-05-07 20:44:07 +08:00
    @fulvaz 我不确定命令行怎样算是用上代理了,目前 curl ip.cn 显示的是代理的 ip。有没有其他方法确认一下?
    azh7138m
        24
    azh7138m  
       2018-05-07 20:44:29 +08:00
    @POPOEVER 只是避免从 github 下载
    POPOEVER
        25
    POPOEVER  
       2018-05-07 20:45:46 +08:00
    @azh7138m 噢噢,我希望他直接装别编译了。。。
    azh7138m
        26
    azh7138m  
       2018-05-07 20:46:17 +08:00
    @redsonic 不审,只要这个名字没人用过,随意 publish 新包,或者你是这个包的 collaborator,也能随意 publish
    defunct9
        27
    defunct9  
       2018-05-07 20:48:05 +08:00 via iPhone   ❤️ 1
    开 ssh,让我上去装
    lazyzml
        28
    lazyzml  
       2018-05-07 20:52:36 +08:00
    能说说包名吗?
    tvallday
        29
    tvallday  
    OP
       2018-05-07 20:57:45 +08:00
    @lazyzml 不是某个包,估计是团队里的某个人写的包里引用了其他包。每次掉线包名都不一样的。
    rootliang
        30
    rootliang  
       2018-05-08 07:54:08 +08:00 via iPhone
    @defunct9 #27 脸熟你了
    rootliang
        31
    rootliang  
       2018-05-08 07:54:28 +08:00 via iPhone
    @defunct9 #27 敢问是否是专业运维
    defunct9
        32
    defunct9  
       2018-05-08 09:20:24 +08:00
    @rootliang 是啊,只会 Linux,不会 Windows.
    tvallday
        33
    tvallday  
    OP
       2018-05-08 09:59:18 +08:00
    @defunct9 试了 20 多次包括全局代理都不行。最后让人从国外打包发给我终于解脱了。这防火墙也太操蛋了。
    Helery22223
        34
    Helery22223  
       2018-05-08 10:37:00 +08:00
    翻之后除了偶尔 github 打不开都是可以正常下载的
    defunct9
        35
    defunct9  
       2018-05-08 10:45:51 +08:00
    @tvallday 必须翻过去,装个破 pool,用了国内各种 node 代理源,总是有毛病,安装也不报错,一执行就错。没办法,搭个水管,翻过去装了一下午,就好了。
    tvallday
        36
    tvallday  
    OP
       2018-05-08 10:53:54 +08:00 via Android
    @defunct9 哦总算明白你的意思了,是用国外的机器下好再转移到国内。。。
    ConnersHua
        37
    ConnersHua  
       2018-05-08 11:03:33 +08:00
    居然没人推 Yarn ?
    tvallday
        38
    tvallday  
    OP
       2018-05-08 11:05:25 +08:00 via Android
    @ConnersHua 在防火墙面前,yarn 也无能为力。
    doubleflower
        39
    doubleflower  
       2018-05-08 11:06:23 +08:00
    打这么多字不如把报错信息发一发啊
    mokeyjay
        40
    mokeyjay  
       2018-05-08 11:14:37 +08:00
    @redsonic #12 报道链接来一发
    crysislinux
        41
    crysislinux  
       2018-05-08 11:19:56 +08:00 via Android
    curl 是尊重 https_proxy 的,npm 就不一定了。很久以前记得要单独在.npmrc 设置的,现在不知是啥情况
    alexsunxl
        42
    alexsunxl  
       2018-05-08 12:55:38 +08:00   ❤️ 1
    你应该用 proxychains-ng
    这样才能有效让流量过代理.
    或者直接在路由器里设置全局
    ooo3o
        43
    ooo3o  
       2018-05-08 14:16:11 +08:00
    这种情况对于下载 500MB 依赖还跑不起一个页面的 Node 来说, 简直再正常不过了.
    Node 这种垃圾为世界的网络提高了多少流量需求哦.
    MarcoM
        44
    MarcoM  
       2018-05-08 14:23:30 +08:00
    你可以考虑用 yarn add
    Remember
        45
    Remember  
       2018-05-08 15:13:21 +08:00
    为什么你自己心里没点数吗? npm 要全局翻是常识了吧.
    corcd
        46
    corcd  
       2018-05-08 15:18:30 +08:00
    挂全局代理
    jeremaihloo
        47
    jeremaihloo  
       2018-05-08 16:08:19 +08:00
    直接看看 install.js 脚本里下载了哪些东西,额外下载下来就行了

    其实一般都是 github 上下下来,所以也可以给 git 挂代理就行了
    nuxt
        48
    nuxt  
       2018-05-08 16:36:42 +08:00
    用 npm 和 cnpm 都有问题,我现在都是全局代理,已经转 yarn 了
    getinlight
        49
    getinlight  
       2018-05-08 16:59:11 +08:00
    在国内 程序员还需要翻墙技能点
    a494836960
        50
    a494836960  
       2018-05-08 17:15:10 +08:00
    npm install 有时候会有冲突,不知道什么原因会把我 module 里的其他包删掉。。
    AEANWspPmj3FUhDc
        51
    AEANWspPmj3FUhDc  
       2018-05-08 17:19:35 +08:00
    我每次更新包都是全局 fq
    xiadd
        52
    xiadd  
       2018-05-08 17:20:38 +08:00 via Android
    买个 vpn
    cuberlzy
        53
    cuberlzy  
       2018-05-08 18:09:21 +08:00
    用 cnpm 基本可以避开各种问题
    redsonic
        54
    redsonic  
       2018-05-08 19:09:26 +08:00
    @mokeyjay https://www.bleepingcomputer.com/news/security/somebody-tried-to-hide-a-backdoor-in-a-popular-javascript-npm-package/
    不过我不觉得文中的包有多么 popular。另外我也感觉当年国内 xcode 的事故很多人都忘了。
    FrankFang128
        55
    FrankFang128  
       2018-05-09 00:59:01 +08:00
    proxychains-ng
    tushankaka
        56
    tushankaka  
       2018-05-09 07:00:23 +08:00 via Android
    shandowSock + proxyChain
    susecjh
        57
    susecjh  
       2018-05-09 07:38:13 +08:00 via Android
    cnpm
    ConnersHua
        58
    ConnersHua  
       2018-05-09 10:49:07 +08:00
    @tvallday 首先看你描述不能断定就一定是墙,npm 各种便秘一样难下的包 yarn 都能轻松下
    tvallday
        59
    tvallday  
    OP
       2018-05-09 11:27:18 +08:00
    @ConnersHua yarn 也试过没有用的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5840 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:01 · PVG 10:01 · LAX 18:01 · JFK 21:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.