Blog Logo
  • Home
  • SACC2013
  • Categories
  • Tags
  • About
  • Feed

npm添加二进制文件镜像地址

by Ruanjf — on npm 02 Apr 2016

由于国内访问Amazon S3比较慢,导致通过npm下载二进制文件依赖时会中断或者直接下不动,所以需要在npm命令后面加上--{module_name}_binary_host_mirror,其中module_name存在于package.json中。每个模块名称又不一样(例如:sqlite3的模块名为node_sqlite3)这时可以通过npm view sqlite3 binary或者指定版本npm view sqlite3@3.1.3 binary查询到模块名称而不需要去仓库查看打印结果如下:

$ npm view sqlite3@3.1.3 binary
{ module_name: 'node_sqlite3',
  module_path: './lib/binding/{node_abi}-{platform}-{arch}',
  host: 'https://mapbox-node-binary.s3.amazonaws.com',
  remote_path: './{name}/v{version}/{toolset}/',
  package_name: '{node_abi}-{platform}-{arch}.tar.gz' }

找到模块名称后组成--node_sqlite3_binary_host_mirror,再添加上淘宝 NPM 镜像组合成完整的命令npm install sqlite3 --node_sqlite3_binary_host_mirror=https://npm.taobao.org/mirrors。需要注意的是镜像地址的路径host、remote_path和package_name组合以后的地址是否正确。

如果在安装依赖时遇到node-gyp权限的问题可以加上--unsafe-perm配置

参考

  • npm-view
  • node-pre-gyp
  • node-gyp权限
  • 淘宝 NPM 镜像
Ruanjf Author

Ruanjf

ruanjiefeng@gmail.com

是我,这就是我

Comments

comments powered by Disqus
All content copyright Ruanjf © 2020 • All rights reserved.
Proudly published with Jekyll on Tuesday, 05 May 2020 at 05:34 PM UTC