0%

使用n管理nodejs

n和nvm都是大家常用的nodejs版本管理工具,最先接触的是n,所以我一般用n。(BTW, n还是TJ大神的项目咧~)

安装

以前需要先安装npm才能安装n,现在n有了独立的安装工具n-install,可以通过以下命令安装:

curl -L http://git.io/n-install | bash

另外还可以用n-update更新n,n-uninstall卸载n(其实就是删除n的目录和环境变量设置)

加速

用法就不说了,n help说明都比较清晰。记录一下使用淘宝镜像加速n对nodejs的包下载。

n支持n project命令,通过设置PROJECT_NAMEPROJECT_URL环境变量,指定下载nodejs包的源。国内从原始官方下载真的太慢了。通过以下命令使用淘宝镜像加速:

PROJECT_NAME="node" PROJECT_URL="https://npm.taobao.org/mirrors/node/" n project stable
PROJECT_NAME="io" PROJECT_URL="https://npm.taobao.org/mirrors/iojs/" n project stable

中间可能会遇到提示Invalid version XXX的问题,如这个Issue。原始是n脚本在下载包前,用curl或wget先测试链接时候有效:

502行:

is_ok $url || abort "invalid version $version"

360行:

is_ok() {
  if command -v curl > /dev/null; then
    $GET -Is $1 | head -n 1 | grep 200 > /dev/null
  else
    $GET -S --spider 2>&1 $1 | head -n 1 | grep 200 > /dev/null
  fi
}

这里淘宝镜像貌似返回了302重定向,所以is_ok返回失败。保证版本有效的前提下,暂时注释掉502行可以解决问题。当然改grep也可以~