mac 使用 nvm 管理不同版本的 node 与 npm
我最开始通过brew安装的nvm,发现各种坑,经常导致我的终端启动卡死。一堆的资源没有激活之类的提示。然后突然找到一篇文章,说通过brew安装的nvm路径有问题,建议直接全局安装nvm。然后试了下,果然效果拔萃,把brew安装的nvm卸载后,现在终端启动终于正常了。
nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推荐是使用 nvmw 或 nvm-windows 。
一、卸载已安装到全局的 node/npm
如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中
node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm
安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:
|
|
二、安装 nvm
|
|
安装完成后请重新打开终端环境,Mac 下推荐使用 oh-my-zsh 代替默认的 bash shell。
三、安装切换各版本 node/npm
|
|
请注意
nvm alias default 0.12.7 #设置默认 node 版本为 0.12.7这句设置默认版本的命令一定要执行,如果不执行,重启终端后会发现找不到node命令的情况
四、使用 .nvmrc 文件配置项目所使用的 node 版本
如果你的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号,例如:
|
|
五、nvm 与 n 的区别
node 版本管理工具还有一个是 TJ 大神 的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm 的外部 shell 脚本,因此 n 命令相比 nvm 更加局限。
由于 npm 安装的模块路径均为 /usr/local/lib/node_modules ,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。
因此建议各位尽早开始使用 nvm ,以免出现全局模块无法更新的问题。
当然,如果你用的是 windows 操作系统,我只能说 …… 朋友,能不能早点换个 Mac ,做一个有品位的程序猿呢:P
原文地址:http://www.cnblogs.com/kaiye/p/4937191.html
另外附送一篇优秀的Node环境搭建文章:https://github.com/alsotang/node-lessons/tree/master/lesson0