[转+] npm 换源 npm 国内镜像 cnpm

原文网址: 给电脑换源 npm 国内镜像 cnpm

为什么要换源? npm 官方站点 http://www.npmjs.org/ 并没有被墙,但是下载第三方依赖包的速度让人着急啊!
就拿阿里云环境来说,有时 npm 一个包也需要耐心等待......等待过去也许是原地踏步,也许就是安装失败.
幸运的是,国内有几个镜像站点可以供我们使用

速度非常快,镜像站会实时更新,为我们节省了好多时间.如何给本机换源呢?
(1)[临时]通过 config 配置指向国内镜像源

# 配置指向源
# cnpmjs.org
$ npm config set registry http://registry.cnpmjs.org
# npm.taobao.org
$ npm config set registry http://registry.npm.taobao.org

(2)[临时]通过 npm 命令指定下载源

# 在安装时候临时指定
$ npm --registry http://registry.cnpmjs.org info express

(3)[linux]在配置文件 ~/.npmrc 文件写入源地址

//打开配置文件
nano ~/.npmrc
//写入配置文件
registry =https://registry.npm.taobao.org

推荐使用最后一种方法,一劳永逸,前面2钟方法都是临时改变包下载源.
如果你不想使用国内镜像站点,只需要将 写入 ~/.npmrc 的配置内容删除即可.
下面是我本地下载ejs包的截图,可以看到默认源地址指向了 cnpm
index.png

(4) 使用 cnpm 来替代 npm

npm install -g cnpm --registry=http://registry.npm.taobao.org

或者 (linux 专用)

alias cnpm="npm --registry=http://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=http://registry.npm.taobao.org/mirrors/node \
--userconfig=$HOME/.cnpmrc"

#Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=http://registry.npm.taobao.org \
  --cache=$HOME/.npm/.cache/cnpm \
  --disturl=http://registry.npm.taobao.org/mirrors/node \
  --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

通过 cnpm 命令行, 你可以快速同步任意模块:

cnpm sync koa connect mocha

呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面:
例如我想马上同步 koa, 直接打开浏览器: http://npm.taobao.org/sync/koa
或者你是命令行控, 通过 open 命令打开:

open http://npm.taobao.org/sync/koa

如果你安装的模块依赖了 C++ 模块, 需要编译, 肯定会通过 node-gyp 来编译, node-gyp 在第一次编译的时候, 需要依赖 node 源代码, 于是又会去 node dist 下载, 于是大家又会吐槽, 怎么 npm 安装这么慢...
好吧, 于是又要提到 --disturl参数, 通过中国镜像来下载:

npm install microtime \
  --registry=http://registry.npm.taobao.org \
  --disturl=http://npm.taobao.org/mirrors/node

再次要提到 cnpm cli, 它已经默认将 --registry--disturl 都配置好了, 谁用谁知道 . 写到这里, 就更快疑惑那些不想安装 cnpm cli 又吐槽 npm 慢的同学是基于什么考虑不在本地安装一个 cnpm 呢?

nodejs 源码路径
对于在淘宝上下载nodejs 源码指定的地址是: https://npm.taobao.org/dist

直接更改源文件中的配置文件地址来更改加载路径
~/node_modules/npm/lib/config/defaults.js
Line : 181
registry : "https://registry.npmjs.org/"
将这个注册地址 更改为: https://registry.npm.taobao.org/

参考网站:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值