公司配备Mac笔记本,以前没用过mac开发项目,一开始依然是从node官网下载安装包,后来领导说最好是用brew安装软件,这样比较方便,安装和卸载,只要在命令行输入相应的 install 和 uninstall 就行。

以前没有接触过brew,第一次知道这种东西,故记录如下:

1. 安装HomeBrew

HomeBrew是MacOS上的包管理器,用于安装系统上没有预装的东西。

官网:https://brew.sh/index_zh-cn.html

打开终端,输入以下命令:

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

brew安装时间比较长,慢慢等待。

待brew安装完毕之后,输入以下命令查看brew是否安装成功:

brew -v

若安装成功,如下图:

2、Mac下安装nvm

用 brew 安装 node,在终端输入以下命令:

brew install node 

个人网速比较慢,安装时间比较长。下载了一夜,Mac本锁屏为黑屏的时候就不下载了,第二天一早起来,看到就没什么进展,继续等待,等到 terminali 到初始状态,试着 查看node版本,输入 node -v 发现没有安装上。

继续上网搜,参考了以下网址的文章《一篇文章了解Mac上node环境配置》:

https://segmentfault.com/a/1190000015416829

和 《mac下homebrew下载安装和node下载安装环境》https://blog.csdn.net/qq_38313184/article/details/80320629

看过之后,继续装 nvm (虽然暂时没用过这个,也不了解,后续待了解)。

打开https://github.com/creationix/nvm。在下面的简介中找到install这几个字,然后继续往下找,直到找到

复制这些字,到Mac的terminal中,就会安装nvm,安装完成后,还暂时不能用,需要复制它提示的两行代码(就是下图拿箭头标出来的两行代码)来配置环境变量:

若没有配置环境变量,输入nvm会显示nvm:command not found,配置环境变量后,输入nvm会显示Node Version Manager,表示安装成功.

3、安装node

nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm

nvm安装好之后,一定要把命令行窗口关闭,再打开,或者直接打开一个新的命令行窗口,进行后续操作。

nvm ls-remote

nvm ls-remote 会列出所有可用的 Nodejs 版本,如果输出中看到很多很多个版本号,就表示 nvm 安装好了。最后一个版本号就是当前最新的 Nodejs 版本,我这里是 v11.0.0 。

下面使用nvm来安装node,命令依次如下:

nvm ls-remote // 查看当前提供node版本号
nvm install v8.11.3 // 我选择了stable版本
node -v // 安装完成后就可以查看node和npm的版本了
npm -v

nvm和n的区别

n: 全局安装的npm package。使用npm install -g n安装,与node循环依赖。
nvm: 独立的软件包,不依赖node。

nvm有几点比n强:

  • 对于全局模块,n对于全局模块没有办法控制,但是nvm中,node的不同版本的全局模块是存放在各自版本沙箱的。不同版本间不会有冲突
  • 从理解角度,nvm不与node依赖,所以更好理解。
  • 不需要先装node

当然,n能支持windows,使用也并不比nvm复杂,选择哪个都可以。


踩坑经历:

坑1:brew装nvm,重启终端后nvm失效。 

但是用brew安装nvm有个bug,安装时缺少了nvm.sh,这会导致每次重启终端,nvm命令就失效了,所以我们要每次运行下面的命令:

// 复制下面的代码到终端并运行
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

好了,现在nvm命令已经能被识别了,但是每次重启终端都要运行无疑是很复杂的,所以要在~/.zshrc中配置一下,保证每次重启时,系统都能帮我们做一步。

在~/.zshrc中添加上面的两行内容即可

坑1的解决办法二:

不推荐用brew安装nvm
这里说curl安装

打开终端键入:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

执行curl后回终端回输出下面这段代码,我们拷贝下来

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

配置环境变量(无 .bash_profile)

添加 .bash_profile在终端键入

touch .bash_profile

打开 .bash_profile在终端键入

open -e .bash_profile

在 .basn_profile中输入刚刚拷贝的两行代码
运行配置文件,在终端键入

source ~/.bash_profile

ok查看配置路径,在终端键入

$PATH

坑2:终端重启后,通过nvm安装的node 和 npm都失效了。

按照坑1中的方法再来一次。

Mac上Node环境配置的更多相关文章

  1. Mac上利用VScode配置c/c++开发环境

    Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...

  2. Mac上通过docker配置PHP开发环境

    这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu. ...

  3. Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置

    Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1  整体规划部分 1.1.1  所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...

  4. Mac上Hive安装配置

    Mac上Hive安装配置 1.安装 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 之前我配置了集群,tjt01.tjt02.tjt03,这里hive安 ...

  5. CentOS6.5上golang环境配置

    CentOS6.5上golang环境配置 一.下载和解压go环境包 >>cd /usr/local/src/ >>wget -c http://golangtc.com/sta ...

  6. Eclipse上Maven环境配置使用 (全)

    Eclipse上Maven环境配置使用 (全) 1. 安装配置Maven: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven. ...

  7. mac上使用zsh配置环境变量

    Mac配置环境变量的地方 一./etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. 二./etc/bashrc (一般在这个文件中添加系统级环境 ...

  8. node环境配置安装(nvm)

    在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...

  9. Mac上Hive环境搭建

    本文介绍在Mac上搭建Hive环境. 建议首先配置好Hadoop,搭建与配置可以参考我之前的博文Mac Hadoop的安装与配置. 当然你也可以选择使用Docker搭建环境,本文不作介绍. 安装 对于 ...

随机推荐

  1. CKEdiotr入门级使用

    CKEdiotr是一款不错的网页富文本编辑器,其内置的功能最大满足用户的需求,先将CKEditor的简单实用做个总结,以便于日后查看.使用.我用的是.net平台,故而以下介绍的是.net的CKEdit ...

  2. Filter过滤器简单学习

    Servlet 过滤器方法 过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法: 序号 方法 & ...

  3. 【未整理】web.xml加载顺序.RP

    一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...

  4. JavaWeb中的路径问题

    JavaWEB 开发中的 / 的含义 ①.当前WEB应用的根路径(http://localhost:8080/contextPath/) 请求转发时:request.getRequestDispath ...

  5. ASP.NET框架获取数据字典数据做成树的格式

    private List<TreeEntity> treeList = new List<TreeEntity>();//创建一个树的List集合 public ActionR ...

  6. Ubuntu设置root账户密码

    创建Ubuntu后是没有root账户的,执行 sudo passwd root 然后系统会提示你输入普通用户的密码.输入后,按回车,然后重复输入两次新的root密码即可激活root用户.

  7. web利用table表格生成excel格式问题

    当我们把web页面上的table导成excel形式时,有时候我们的数据需要以特定的格式呈现出来,这时候我们就需要给指定的单元格添加一些样式规格信息. 文本:vnd.ms-excel.numberfor ...

  8. 6步完成压力测试工具Locust部署和使用

    1,准备安装python,安装过程略 已安装的,查看安装目录: cmd输入where Python 2,pip安装locust 1.进入python所在目录,如果没有配置环境变量,需要进入到C:\Us ...

  9. WebStrom常用快捷键

    查找替换 ctrl+shift+N  通过文件名快速查找工程内的文件(必记) ctrl+shift+alt+N  通过一个字符快速查找位置(必记) ctrl+F  在文件内快速查找代码 ctrl+R  ...

  10. 初学python-字符串中引号的使用、input简介、强制类型转换、加减乘除简写、条件判断

    一.字符串中单引号和双引号的使用: 1.字符串以英文单引号' '引用.eg:'Hello World' 2.若字符串中含有单引号,则以英文双引号" "引用.eg:"I'm ...