http://bubkoo.com/2017/01/08/quick-tip-multiple-versions-node-nvm/

作为前端开发者,node和npm安装必不可少。然而有时会因为安装新的app(如MacPorts,慎装,它会修改基本环境变量以及npm的全局设置等)导致版本环境混乱,有2种方式有效管理:

  • 特别推荐安装安装nvm来管理Node版本;
  • 其次推荐brew来对node和npm版本进行管理。

(首选)nvm管理Node

目前我更多的使用nvm来进行node版本管理,它会安装相应版本的npm。
执行如下命令:

  1. 安装nvm
curl -L -o- [http://build.sankuai.com/nvm/install](http://build.sankuai.com/nvm/install) | bash

上述失败了的话试试这个:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
  1. 安装node及npm
nvm install v8.5.0
  1. 将镜像源设置为淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
npm --registry=https://registry.npm.taobao.org

使用淘宝 NPM 镜像

大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。

淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

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

安装brew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew安装node

  1. 首先更新brew,使其在最新版本,代码如下:
    $ brew update
  2. 确保brew是安全可靠的,代码如下:
    $ brew doctor
    将可能导致如下情况,可针对性逐条处理,处理完成放可完成下一步:

Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.

You should probably sudo chown -R $(whoami) them:
/usr/local/share/man/man5
/usr/local/share/man/man7

  1. 将brew的位置添加到$PATH环境变量中,并保存bash或者profile文件;
    export PATH="/usr/local/bin:$PATH"
  2. 当处理完上述问题后,来处理brew和node关系
    若在上文中出现,如下错误信息:

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
node
则需要如下操作:

  • 清理brew的link
    $ brew cleanup
  • 删除node文件,完全卸载node和npm
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

或者是

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp /opt/local/bin/node opt/local/include/node /opt/local/lib/node_modules

或者是下面这样:

  1.在/usr/local/lib目录下,删除任何与node和 node_modules有关的目录;
2.在/usr/local/include 目录下,删除任何与node 和 node_modules有关的目录;
3.如果你是通过**brew install node**安装的node,则在终端执行**brew uninstall node** ,并在home目录下查找 **local** 或**lib** 或 **include**文件夹,删除任何与**node** 和 **node_modules**有关的目录;
4.在**/usr/local/bin**目录下,删除任何与 **node** 执行文件;
5.最后下载 **nvm** ,跟随它的介绍安装node。当然,你也可以通过**npm**来安装最新版本的Node。
  1. 通过brew安装node和npm
brew link node
brew uninstall node
brew install node
  1. 测试Node和npm安装是否成功,安装Grunt
    npm install -g grunt-cli
    如果安装成功,那么恭喜你node,npm,grunt均安装成功。若出现问题,请回顾前面内容。

作者:阿啦嘞
链接:https://www.jianshu.com/p/20ea93641bda
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

【vue】Mac上安装Node和NPM的更多相关文章

  1. Mac上安装Node和NPM【转】

    http://www.jianshu.com/p/20ea93641bda 作为前端开发者,node和npm安装必不可少.然而有时会因为安装新的app(如MacPorts,慎装,它会修改基本环境变量以 ...

  2. Mac 上卸载node和npm

    Mac 上卸载node和npm 卸载node依次在终端执行下面的脚本 sudo npm uninstall npm -gsudo rm -rf /usr/local/lib/node /usr/loc ...

  3. Linux上安装node和npm

    说明:最近工作中需要用到react前端框架使得可以前后分离,在安装react之前呢我是需要先安装node,和npm的 由于npm是依赖于node 的,所以我这边只要安装了node后,npm也就安装完成 ...

  4. 007_Mac上安装Node和NPM

    一.推荐brew来对node和npm版本进行管理. <1>确保brew是安全可靠的,代码如下: $ brew doctor #直接install node会有以下报错https://git ...

  5. Mac上安装node.js

    1.下载node for mac并一路默认安装 2.测试成功否 3.copy this file to test(save as javascript file) var http = require ...

  6. (转)在Windows平台上安装Node.js及NPM模块管理

    本文转载自:http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 之前9月份的时候我写了一篇关于如何在Windows平台上手工管理 ...

  7. 如何在CentOS 7上安装Node.js和npm

    Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...

  8. 安装Node和NPM

      1.node和NPM是什么?   Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js ...

  9. [译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

    原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October ...

随机推荐

  1. UEditor自动调节宽度

    UEditor自动调节宽度 一.总结 一句话总结:ueditor是网页的产物,没有API我们照样可以像调网页元素那样调,一样的,这里是改变插件的css样式实现 启示: 百度 文档 引擎 ueditor ...

  2. root登录不进去 dropbear ssh

    安装好了dropbear, root 怎么也登录不进去. 看 /var/log/messages , 发觉有很多下面的消息, 网上查了一下, 发觉建个 /etc/shells 文件,然后把 /bin/ ...

  3. [Java学习] Java异常类型

    所有异常类型都是内置类Throwable的子类.因此,Throwable在异常类层次结构的顶层.紧接着Throwable下面的是两个把异常分成两个不同分支的子类.一个分支是Exception. 该类用 ...

  4. LeetCode--125--验证回文串

    问题描述: 好 times out: class Solution(object): def isPalindrome(self, s): """ :type s: st ...

  5. Confluence 6 的高级 Crowd 设置

    启用嵌套用户组(Enable Nested Groups) 为嵌套组启用或禁用支持. 在启用嵌套用户组之前,你需要检查你在 Crowd 中定义的目录能够支持嵌套用户组.当嵌套用户组启用成功后,你可以将 ...

  6. 『Sklearn』框架自带数据集接口

    自带数据集类型如下: # 自带小型数据集# sklearn.datasets.load_<name># 在线下载数据集# sklearn.datasets.fetch_<name&g ...

  7. loj#101. 最大流 dinic+当前弧

    板子题 当前弧优化版本 目前效率最高 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize(&q ...

  8. EBS标准的查看供应商地址

    --获取供应商PARTY_ID SELECT * FROM HZ_PARTIES HP WHERE HP.PARTY_NAME='XXXXXX' VO数据源:oracle.apps.pos.suppl ...

  9. IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示

    idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化 ...

  10. flex布局学习总结

    最近项目主要是小程序,小程序里面的布局主要采用flex布局,之前对flex 布局只是稍作了解,总结下flex 布局的常用套路 容器 Flex是Flexible Box的缩写,意为"弹性布局& ...