nodejs版本管理器n和nvm

nodejs版本更新非常快,并且不能完全兼容之前的第3方开发者开发的类库,有很多类库需要在指定的nodejs版本环境中运行,如果系统中只有一个全局的nodejs环境就会产生非常多的错误,而且很难解决,这时可以使用nnvm这样的nodejs版本管理器来处理。

n

n是nodejs的一个模块,作者是TJ Holowaychuk(鼎鼎大名的Express框架作者),它的理念就是简单no subshells, no profile setup, no convoluted api, just simple

安装n

 npm install -g n

用n安装不同版本的nodejs

 n 0.8.14 n 0.8.17 n 0.9.6 n latest n stable

指定nodejs版本

输入n命令后,用箭头选到对应的版本后,回车确认,或者是按CTRL+C取消。

 n#   0.8.14# ο 0.8.17#   0.9.6

删除nodejs版本

 n rm 0.9.4 v0.10.0# or n - 0.9.4

指定版本nodejs运行

 n bin 0.9.4# /usr/local/n/versions/0.9.4/bin/node n use 0.9.4 some.js n as 0.9.4 --debug some.js

bad external relocation length

在用n指令安装某个node版本过程中,如出现dyld:bad external relocation length这样的问题,可以使用brew doctor查看原因,按说明解决。

或者是使用n latest指令安装一个最新版本,并将之前出问题的版本删除。

nvm

nvm全称node version manager,完全基于bash shell实现。

安装nvm

 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash

使用nvm安装不同版本的nodejs

 nvm install 5.0 nvm install 5.1.0 nvm install 0.12.2 nvm install 0.10.25

查看所有nvm管理的nodejs版本

 nvm ls#        v0.10.25#         v0.12.2# ->       system# node -> stable (-> v0.12.2) (default)# stable -> 0.12 (-> v0.12.2) (default)# iojs -> N/A (default)

使用nvm指定nodejs版本

 nvm use 5.0

使用指定的nodejs版本来运行命令

 nvm run system --version# Running node system (npm v3.3.12)# v5.1.0

在一个subshell中运行指定版本的nodejs命令

 nvm exec v0.12.2 node --version# Running node v0.12.2 (npm v3.3.12)# v0.12.2

References

  1. https://github.com/visionmedia/n
  2. https://github.com/creationix/nvm
  3. 利用n和nvm管理Node的版本