代码之家  ›  专栏  ›  技术社区  ›  Ashraf

npm注册表更改-仍有一些库正在从旧注册表下载。

  •  0
  • Ashraf  · 技术社区  · 8 年前

    我在一个代理后面工作,这个代理阻止了默认的npm注册表 https://registry.npmjs.org . 我设法把它改成了欧洲的镜子 https://skimdb.npmjs.com/registry 幸运的是没有被封锁。

    标题中描述的问题,一些库仍在从旧注册表下载。有什么建议吗?

    对的: 14 http获取200 https://skimdb.npmjs.com/registry/tar-pack 15 http获取200 https://skimdb.npmjs.com/registry/validate-npm-package-name 1141毫秒 在1141ms内获取了16个tar pack@^3.4.0的愚蠢pacote范围清单 17.使用新模块tar-pack@3.4.1 正在检查可安装状态 18在1141ms内获取的validate npm package name@^3.0.0的Pulpote范围清单 20 http获取200 https://skimdb.npmjs.com/registry/hyperquest 1156毫秒 22.使用新模块hyperquest@2.1.3 正在检查可安装状态 23 http获取200 https://skimdb.npmjs.com/registry/tmp 1156毫秒 https://skimdb.npmjs.com/registry/chalk 1219毫秒

    意外: 862愚蠢的pacote正则表达式@ https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz 863傻萃ansi-styles@2.2.1 http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz 按哈希:sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 866愚蠢的帕科特试图平衡比赛@ https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz 按哈希:sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 867愚蠢的摘录buffer-from@0.1.2

    1 回复  |  直到 8 年前
        1
  •  0
  •   Ashraf    8 年前

    经过几天的调查,我找到了一个变通解决方案:我创建了一个代理PHP脚本,它将作为主注册表的包装器 https://registry.npmjs.org

    npm config set registry YOUR_PROXY_HOSTED_PATH/proxy/

    代理脚本

    <?php
    $url=$_GET['url'];
    if($url){
    $file = file_get_contents('https://registry.npmjs.org/'.$url);
    //Locating and Replacing
    $file = str_replace('https://registry.npmjs.org/','YOUR_PROXY_HOSTED_PATH/index.php?url=',$file);
    die($file);
    }
    ?>  
    

    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^proxy/([^/]+) /index.php?url=$1 [NC]