Mac上使用nvm管理node版本
Mac上使用nvm管理node版本
1.卸载已安装到全局的 node/npm
如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中
node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm
安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:
1 | #查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装 |
2.安装 nvm
1 | curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash |
or Wget:
1 | 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,执行指令时报错
1 >fish: Unknown command 'nvm'参考下这篇文章
https://medium.com/@joshuacrass/nvm-on-mac-for-fish-users-e00af124c540
如果遇到以下提示:
1 | nvm: command not found |
编辑.bash_profile文件,没有的话就新建一个,命令都是:
1 | vi .bash_profile |
然后将以下代码复制进去,保存退出
1 | export NVM_DIR="$HOME/.nvm" |
然后 source 一下 .bash_profile
1 | source .bash_profile |
4.使用nvm
1 | nvm install stable # 安装最新稳定版 node,现在是 5.0.0 |
查看nvm版本:打开新的终端,用nvm current查看当前版本显示
删除指定版本 node:nvm uninstall v6.6.0
nvm 提供了 nvm use 命令。这个命令的使用方法和 install 命令类似。
1 | #例如,切换到 4.2.2: |
我们还可以用 nvm 给不同的版本号设置别名:
1 | #我们给 4.2.2 这个版本号起了一个名字叫做 awesome-version |
列出已安装实例
1 | nvm ls |
5.在多环境中,npm该如何使用呢?
每个版本的 Node
都会自带一个不同版本的 npm
,可以用 npm -v
来查看 npm
的版本。全局安装的 npm
包并不会在不同的 Node
环境中共享,因为这会引起兼容问题。它们被放在了不同版本的目录下,例如 ~/.nvm/versions/node/<version>/lib/node_modules</version>
这样的目录。这刚好也省去我们在 Linux
中使用 sudo
的功夫了。因为这是用户的主文件夹,并不会引起权限问题。
但问题来了,我们安装过的 npm
包,都要重新再装一次?幸运的是,我们有个办法来解决我们的问题,运行下面这个命令,可以从特定版本导入到我们将要安装的新版本 Node:
1 | nvm install v5.0.0 --reinstall-packages-from=4.2 |