Mac上使用nvm管理node版本

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

如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中

node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm

安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:

 

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

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

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

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

2.安装 nvm

 

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

or Wget:

 

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

具体最新版本在查看git上
https://github.com/creationix/nvm/blob/master/README.md

安装完成后请重新打开终端环境

3.查看安装情况

安装完 nvm 后,输入nvm,当看到有输出时,则 nvm 安装成功。

我在这里遇到个问题,我安装了fish shell,执行指令时报错

fish: Unknown command 'nvm'

参考下这篇文章
https://medium.com/@joshuacrass/nvm-on-mac-for-fish-users-e00af124c540

如果遇到以下提示:

 

nvm: command not found

编辑.bash_profile文件,没有的话就新建一个,命令都是:

 

vi .bash_profile

然后将以下代码复制进去,保存退出

 

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

然后 source 一下 .bash_profile

 

source .bash_profile

4.使用nvm

 

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

查看nvm版本:打开新的终端,用nvm current查看当前版本显示

删除指定版本 node:nvm uninstall v6.6.0

nvm 提供了 nvm use 命令。这个命令的使用方法和 install 命令类似。

 

例如,切换到 4.2.2:
nvm use 4.2.2
切换到最新的 `4.2.x``:
nvm use 4.2
切换到最新版:
nvm use node

我们还可以用 nvm 给不同的版本号设置别名:

 

我们给 4.2.2 这个版本号起了一个名字叫做 awesome-version
nvm alias awesome-version 4.2.2

然后我们可以运行:
nvm use awesome-version

下面这个命令可以取消别名:
nvm unalias awesome-version

另外,你还可以设置 default 这个特殊别名:
nvm alias default node

列出已安装实例

 

nvm ls

5.在多环境中,npm该如何使用呢?

每个版本的 Node 都会自带一个不同版本的 npm,可以用 npm -v 来查看 npm 的版本。全局安装的 npm 包并不会在不同的 Node 环境中共享,因为这会引起兼容问题。它们被放在了不同版本的目录下,例如 ~/.nvm/versions/node/<version>/lib/node_modules</version> 这样的目录。这刚好也省去我们在 Linux 中使用 sudo 的功夫了。因为这是用户的主文件夹,并不会引起权限问题。

但问题来了,我们安装过的 npm 包,都要重新再装一次?幸运的是,我们有个办法来解决我们的问题,运行下面这个命令,可以从特定版本导入到我们将要安装的新版本 Node:

 

nvm install v5.0.0 --reinstall-packages-from=4.2



作者:张先森Mr_zhang
链接:https://www.jianshu.com/p/04d31f6c22bd
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值