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. 3-9《元编程》第3章Tuesday:methods

    第3章methods Ruby是动态语言,有静态语言实现不了的技巧.本章讲解代码的重构,把代码变得更简洁. 3.2Dynamic Methods 3.21Calling Methods Dynamic ...

  2. Objections vs. excuses

    Objections are healthy. When someone is being offered a new opportunity or product, it's not unusual ...

  3. linux--多进程进行文件拷贝

    学习IO的时候,我们都曾经利用文件IO函数,标准IO函数都实现了对文件的拷贝, 对某一个文件进行拷贝时,我们可以考虑一下几种方式: a.单进程拷贝: 假设某一文件需要拷贝100字节,每一个时间片可以完 ...

  4. HDU-5001 Walk (概率DP)

    Problem Description I used to think I could be anything, but now I know that I couldn't do anything. ...

  5. linux physical and virtual addressing modes

    example 1: 特理地址和虚拟地址一致 Physical addressing mode requires no page tables and the CPU does not attempt ...

  6. bzoj1601

    题解: 简单生成树 代码: #include<bits/stdc++.h> using namespace std; ; int n,dis[N],f[N],a[N][N],ans; in ...

  7. java修饰符的作用范围

    访问修饰符: private 缺省 protected public 作用范围: private 被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问.只能在所在类内部访问.缺省 ...

  8. C++11标准的类型别名

    1.typedef 类型名  类型别名(类型别名列表):这是传统的C++类型别名声明. 2.C++11标准下,使用using,即using 类型别名=类型名.

  9. 关于CentOS 7 下的Oracle11g的proc编译器的一些常见问题

    1.proc编译器配置问题 在使用proc将.pc文件编译成.c文件时出现一堆的错误,网上的答案七杂八杂的,都没有解决我的问题. 如下是我在使用过程中的一些错误: 由于我可能比较笨,实在是受不了网上那 ...

  10. CUDA ---- Kernel性能调节

    Exposing Parallelism 这部分主要介绍并行分析,涉及掌握nvprof的几个metric参数,具体的这些调节为什么会影响性能会在后续博文解释. 代码准备 下面是我们的kernel函数s ...