OS X中使用brew管理多个node版本

node list

在使用Node进行开发的时候,有时候需要在不同的Node版本中进行切换。首先,跨平台的NVM(Node Version Manager)可以帮助我们很好的进行版本管理。

在OS X系统中,HomeBrew也是一个很方便的Node版本切换工具。

以下是使用HomeBrew管理Node的一些操作

查看可用版本

1
$ brew search node

即可看到当前可用的版本

node list

安装需要版本

1
$ brew install node@6

如果需要6.x.x中最新版本,可以使用

1
$ brew install node6-lts

切换版本

  • 首先取消当前版本
1
$ brew unlink node
  • 切换到需要的版本
1
$ brew link node@6 [--force]

注意:在切换版本的时候,可能会需要用到 –force命令,强制执行。

在切换版本时,可能会有一些文件需要删除,注意提示内容,执行即可

例如:

1
$ rm '/usr/local/include/node/pthread-fixes.h'

检查切换是否成功

1
$ node -v

添加Path

1
2
$ which node # => /usr/local/bin/node
$ export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc

删除所有Node

1
2
3
4
5
$ brew uninstall node
# 或者 `brew uninstall --force node` 移除所有版本
$ brew prune
$ rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d
$ rm -rf ~/.npm

写在最后

出现这个问题是在安装Yarn的时候遇到的。在使用HomeBrew安装Yarn的时候,需要brew link node,但是link之后的版本是最新的7.9。

本来新版本的Node带来了更多的特性,然而在使用ng-cli生成的项目中,打包的时候,node-sass一直出问题,因此需要工具来管理Node版本,固有此总结。

同时,Yarn也是一个很方便的包管理器,推荐在安装包时尝试一下Yarn

参考文章

brew link node required for Yarn install #1505

How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

How do I downgrade node or install a specific previous version using homebrew?