## 安装nvm版本管理器
~~~
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
~~~
~~~
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
~~~
~~~
source .bash_profile
~~~
使用:
~~~
nvm install stable # 安装最新稳定版 node,现在是 5.0.0
nvm install 4.2.2 # 安装 4.2.2 版本
nvm install 0.12.7 # 安装 0.12.7 版本
# 特别说明:以下模块安装仅供演示说明,并非必须安装模块
nvm use 4 # 切换至 4.2.2 版本
npm install -g mz-fis # 安装 mz-fis 模块至全局目录,安装完成的路径是 /Users/<你的用户名>/.nvm/versions/node/v0.12.7/lib/mz-fis
nvm use 0 # 切换至 0.12.7 版本
npm install -g react-native-cli #安装 react-native-cli 模块至全局目录,安装完成的路径是 /Users/<你的用户名>/.nvm/versions/node/v4.2.2/lib/react-native-cli
nvm alias default 0.12.7 #设置默认 node 版本为 0.12.7
~~~
## npx
### 运行文件夹下的module
npx 想要解决的主要问题,就是调用项目内部安装的模块。比如,项目内部安装了测试工具[Mocha](http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html)。
一般来说,调用 Mocha ,只能在项目脚本和 package.json 的[`scripts`](http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html)字段里面, 如果想在命令行下调用,必须像下面这样。
> ~~~bash
>
> # 项目的根目录下执行
> $ node-modules/.bin/mocha --version
>
> ~~~
npx 就是想解决这个问题,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了。
> ~~~bash
>
> $ npx mocha --version
> ~~~
npx 的原理很简单,就是运行的时候,会到`node_modules/.bin`路径和环境变量`$PATH`里面,检查命令是否存在。
### 执行一次性命令
`npx module-name folder-name`
会安装`module-name`到`folder-name`中,并运行,运行之后删除之,特别适合一些脚手架工具。
例如
`npx @vue/cli create project`