macOS 安装 Node.js 环境

好长时间没怎么用过 Node.js,一更新就各种报错。

cover

因为版本差异大,更新的时候老是报各种错,就只有重新装了。

Node.js 的生态就很奇怪,太散了,版本又多。所以决定用 homebrew 来管理 nvm,然后用 nvm 管理 node.js。

Uninstall

官方安装包

  1. 删除 /usr/local/lib 下的任意 nodenode_modules 的文件或目录
  2. 删除 /usr/local/include 下的任意 nodenode_modules 的文件或目录
  3. 删除 Home 目录下的任意 nodenode_modules 的文件或目录
  4. 删除 /usr/local/bin 下的任意 node 的可执行文件

可用以下命令代替以上操作:

1
2
$ sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
$ sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
1
$ sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
1
2
3
4
5
6
$ sudo rm -rf ~/.npm
$ sudo rm -rf ~/node_modules
$ sudo rm -rf ~/.node-gyp
$ sudo rm /usr/local/bin/node
$ sudo rm /usr/local/bin/npm
$ sudo rm /usr/local/lib/dtrace/node.d

以上三种任选其一,应该都可以。测试 nvmnodenpm 三个命令是否还在

Homebrew

1
brew uninstall node 

nvm

如有手动安装 nvm 可以通过以下命令删除

1
2
3
$ rm -rf ~/.nvm
$ rm -rf ~/.npm
$ rm -rf ~/.bower

Install

官方安装包

官网:https://nodejs.org,不推荐,手动安装版本控制坑太大

Homebrew

  1. 安装 nvm,用 nvm 控制 Node.js 的版本

    1
    $ brew install nvm
  2. 安装完成后,在 ~/.bash_profile 中添加以下内容,就可以在 bash 里面用 nvm 命令

    1
    2
    # Node.js
    source $(brew --prefix nvm)/nvm.sh
  3. 更新 .bash_profile 的缓存,使修改生效

    1
    $ source ~/.bash_profile
  4. 通过 nvm 安装 Node.js

    1
    $ nvm install node
  5. 安装完成后,查看是否安装成功

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $ nvm --version
    0.34.0
    $ nvm list
    v12.0.0
    node -> stable (-> v12.0.0) (default)
    stable -> 12.0 (-> v12.0.0) (default)
    iojs -> N/A (default)
    unstable -> N/A (default)
    lts/* -> lts/dubnium (-> N/A)
    lts/argon -> v4.9.1 (-> N/A)
    lts/boron -> v6.17.1 (-> N/A)
    lts/carbon -> v8.16.0 (-> N/A)
    lts/dubnium -> v10.15.3 (-> N/A)
    $ node -v
    v12.0.0
    $ npm -v
    6.9.0
  6. 安装 cnpm淘宝 NPM 镜像(方便网速不行的地区)

    1
    $ npm install -g cnpm --registry=https://registry.npm.taobao.org

Summary

通过 brew 管理 nvm,再通过 nvm 管理 node。一个管一个,方便干净。

要是安装过后提示 node 或 npm 命令找不到,应该是之前没删干净,尝试删除干净后,再重新安装 node 或 nvm。

References