Mac中安装Node和版本控制工具nvm遇到的坑

首先说说常规的安装

1. 下载nvm,使用nvm来管理Node版本

  • 官方文档

    windows 版本  https://github.com/coreybutler/nvm-windows

    mac 版本    https://github.com/creationix/nvm#install-script

  • 命令行 尽量不要用brew,免得掉坑

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

2. 使用nvm来下载node,并管理node版本

  • 常见命令

    nvm install stable ## 安装最新稳定版 node
    nvm install <version> ## 安装指定版本
    nvm uninstall <version> ## 删除已安装的指定版本
    nvm use <version> ## 切换使用指定的版本node
    nvm ls ## 列出所有安装的版本
    nvm ls-remote ## 列出所有远程服务器的版本
    nvm current ## 显示当前的版本
    nvm alias <name> <version> ## 给不同的版本号添加别名
    nvm unalias <name> ## 删除已定义的别名
    nvm reinstall-packages <version> ## 在当前版本 node 环境下,重新全局安装指定版本号的 npm 包
    nvm alias default [node版本号] ##设置默认版本
    

上面的安装大家都可以信手拈来,这里就不赘述,主要说一下这其中有个大家需要注意的坑点。敲重点啦!

坑点一:安装之前必须把本地环境清理干净

在安装node前,首先要考虑后续会不会切换版本,如果需要,必须要求nvm在Node安装之前

  • 先安装nvm

  • 在通过nvm安装自己需要的node

    否则,在nvm安装之前的安装的node是不会被nvm管理起来的!

那如果已经安装了node,却还要使用nvm管理版本的话,怎么办?我很不幸的告诉你,你需要删除已安装的node。

​ 下面是删除的Node和npm的命令,在终端中执行即可。

sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d

坑点二:关闭终端nvm失效,区分zsh和bash

对于一般的终端,默认是bash窗口,所以在安装完nvm后,根据如下图提示,进行操作

Mac中安装Node和版本控制工具nvm遇到的坑_第1张图片
配置环境变量(无 .bash_profile)

  1. 添加 .bash_profile在终端键入touch ~/.bash_profile

  2. 打开 .bash_profile在终端键入open -e .bash_profile

  3. 在 .basn_profile中输入

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
    
  4. 配置生效

    source ~/.bash_profile
    

    如果你的终端是zsh,请往下看

配置环境变量(一般根目录都没有这个文件)

  1. 添加 .zshrc在终端键入touch ~/.zshrc

  2. 打开 .zshrc在终端键入open -e .zshrc

  3. 在 .zshrc中输入

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
    
  4. 配置生效

    source ~/.zshrc
    

坑点三:切换node版本失效

node版本失效,网络上有好多解决方案,大家应该也可以找到

# 将要切换的版本设置为default
nvm alias default 8.16.0
# 切换版本,这样在那个窗口都可以使用切换后的版本
nvm use 8.16.0

最后鸣谢:

https://segmentfault.com/q/1010000004858041/a-1020000018860796

https://www.jianshu.com/p/1c0ad9c8072c

https://www.jianshu.com/p/4455f0073ed5

https://juejin.im/post/5cdb62fc5188250d8b2df0de

你可能感兴趣的:(MAC,Nodejs)