使用Homebrew时version命令失效的处理方法

今日因为部署开发环境的问题,涉及到要降级系统中的nodejs,从0.12的版本降级到0.10的版本。

根据牛哥的指导,可以通过修改gulp的配置文件,强制性的指向nodejs到旧版即可。可是实践后发现这个解决方法并不稳定。导致了只能考虑卸载nodejs的环境,然后重新安装较旧的版本。大家如果有其他的好方法欢迎讨论!

首先卸载nodejs

卸载的方法如下

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

可以参见http://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x

然后安装旧版的nodejs,坑多

在google中搜索,基本上解决方法都是

brew versions node

的方式来进行实现

当时实际的使用过程中,发现brew报错,如下

Error: Unknown command: versions

再次搜索解决方案,发现建议的解决方案如下:

brew tap homebrew/boneyard

但是执行的时候还是报错

You should use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions

再次通过搜索发现homebrew在2015年3月份的时候更新了这个命令,所以针对要安装到低版本的情况的解决方法是:

到达brew的安装目录,一般是

cd /usr/local

clone Git上的库下来

brew tap homebrew/homebrew-versions

然后再进行

brew search node

看到输出是

homebrew/versions/node010 leafnode
homebrew/versions/node04 node
homebrew/versions/node06 nodebrew
homebrew/versions/node08 nodenv
...

然后执行

brew install node010

最后进行链接修复和overwrite

brew link --overwrite node010

ok,最后输入

node -v

见证奇迹的时刻吧