变更记录

序号 录入时间 录入人 备注
1 2017-11-07 Alfred Jiang -

方案名称

Node.js - Mac 系统中使用 nvm 管理不同版本的 node 与 npm

关键字

Node.js \ nvm \ node \ npm

需求场景

  1. React Native 跨平台开发环境配置

参考链接

  1. 猫哥_kaiye | 编程笔记 - 使用 nvm 管理不同版本的 node 与 npm(推荐)

详细内容

卸载通过 brew 安装的 nvm

1
$ brew uninstall nvm

卸载已安装到全局的 node/npm

1
2
3
4
5
6
7
$ npm ls -g --depth=0 #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装

$ sudo rm -rf /usr/local/lib/node_modules #删除全局 node_modules 目录

$ sudo rm /usr/local/bin/node #删除 node

$ cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #删除全局 node 模块注册的软链

安装 nvm,安装完成后需要重启终端

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

如果出现 nvm 命令无法找到,尝试编辑 ~/.bash_profile 文件,并加入如下两行(注意修改 <你的用户名> 为当前登录 Mac 用户名)

1
2
export NVM_DIR="/Users/<你的用户名>/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

安装切换各版本 node/npm

1
2
3
4
5
6
7
8
9
10
11
12
13
$ 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 0 #切换至 0.12.7 版本
$ npm install -g mz-fis #安装 mz-fis 模块至全局目录,安装完成的路径是 /Users/<你的用户名>/.nvm/versions/node/v0.12.7/lib/mz-fis

$ nvm use 4 #切换至 4.2.2 版本
$ 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

使用 .nvmrc 文件配置项目所使用的 node 版本

如果通过 nvm alias default x.xx.x 设置的默认 node 版本与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号

1
2
3
4
cd <项目根目录>  #进入项目根目录
echo 4 > .nvmrc #添加 .nvmrc 文件
nvm use #无需指定版本号,会自动使用 .nvmrc 文件中配置的版本
node -v #查看 node 是否切换为对应版本

效果图

(无)

备注

(无)