将 `iojs` 别名为 运行 随 nvm 安装的 io.js 版本

Alias `iojs` to run the io.js version installed with nvm

使用 nvm,我已经安装了几个版本的 Node.js 和最新版本的 io.js。最后,还有一个系统范围的安装 Node.js(这是 nvm 的默认设置)。

现在,我想给 iojs 添加别名(不是在 nvm 中,而是在 bash 中)始终 运行 是 io.js 的唯一安装版本.

alias iojs='nvm run iojs' 这样的事情是行不通的:

$ iojs -v
Running node system
v0.12.0

我想到的唯一解决办法是:

iojs() {
    NVM=`nvm version`
    nvm use iojs > /dev/null # will mute the command 
    node $@
    nvm use $NVM > /dev/null
}

你有更好的主意吗?

顺便说一下:alias iojs='nvm exec iojs node' 也不行:

$ iojs -v
system version is not installed yet

如果您正在执行 alias iojs='nvm run iojs' 您的别名与别名定义中的 "iojs" 冲突

因此,如果您将别名定义为

alias myiojs="nvm run iojs"

命令 myiojs -v 应该可以正常工作:

$ myiojs -v
Running io.js v1.3.0
v1.3.0