cnpm的alias使用

国内直接使用npm下载模块经常很慢,甚至下载失败,可以使用淘宝的cnpm提高速度

但直接使用cnpm模块下载的依赖有时会出现问题(据说是cnpm下载的依赖目录结构与npm不一样)

更好的方式是使用淘宝的npm源,即使用参数
--registry=https://registry.npm.taobao.org

cnpm官网提供了alias方式

alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"

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

但问题是这个命令并不支持windows啊,只能另外找alias的方式

以powershell为例,其实是带了Set-Alias命令设置别名的,并且可以写到配置文件中自动加载别名,可以参考这篇文章 PowerShell下使用Aliases

问题又来了,Set-Alias 但是这个方法应该不支持语句,只能给 function 或者 program 设置 alias。

也就是说下面这句是不行的(带了语句)
set-alias cnpm "npm --registry=https://registry.npm.taobao.org"
只能使用set-alias cnpm npm

可以曲线救国,先定义一个函数,再去Set-Alias

function Start-npmWithTaobao {
    $argList = $args -Join ' '
    Start-Process -FilePath 'npm' -ArgumentList "--registry=https://registry.npm.taobao.org $argList"  -NoNewWindow 
}
Set-Alias cnpm Start-npmWithTaobao 

还真是麻烦… 后来发现nrm模块直接就能切换各种npm源了,瞎搞

$ npm install -g nrm

$ nrm ls

* npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
  eu ----- http://registry.npmjs.eu/
  au ----- http://registry.npmjs.org.au/
  sl ----- http://npm.strongloop.com/
  nj ----- https://registry.nodejitsu.com/

$ nrm help // show help
$ nrm list // show all registries
$ nrm use cnpm // switch to cnpm
$ nrm home // go to a registry home page
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值