公司配备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环境配置的更多相关文章
-
Mac上利用VScode配置c/c++开发环境
Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...
-
Mac上通过docker配置PHP开发环境
这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHPzhuanlan.zhihu. ...
-
Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置
Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1 整体规划部分 1.1.1 所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...
-
Mac上Hive安装配置
Mac上Hive安装配置 1.安装 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 之前我配置了集群,tjt01.tjt02.tjt03,这里hive安 ...
-
CentOS6.5上golang环境配置
CentOS6.5上golang环境配置 一.下载和解压go环境包 >>cd /usr/local/src/ >>wget -c http://golangtc.com/sta ...
-
Eclipse上Maven环境配置使用 (全)
Eclipse上Maven环境配置使用 (全) 1. 安装配置Maven: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven. ...
-
mac上使用zsh配置环境变量
Mac配置环境变量的地方 一./etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. 二./etc/bashrc (一般在这个文件中添加系统级环境 ...
-
node环境配置安装(nvm)
在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...
-
Mac上Hive环境搭建
本文介绍在Mac上搭建Hive环境. 建议首先配置好Hadoop,搭建与配置可以参考我之前的博文Mac Hadoop的安装与配置. 当然你也可以选择使用Docker搭建环境,本文不作介绍. 安装 对于 ...
随机推荐
-
通信原理实践(四)——模拟通信系统性能分析
一.模拟通信系统性能分析 1.系统框图 2.信噪比定义 (1)输入信噪比: (2)输出信噪比: (3)调制制度增益: 3.模拟通信系统分析等价模型 即自己产生一个高斯白噪声,加入到调制信号,然后在送入 ...
-
[zz]Java中的instanceof关键字
1.What is the 'instanceof' operator used for? *的一个回答:http://*.com/questions/ ...
-
MinGW 编译libwebsockets
libwebsockets是一个轻量的纯C库,在这里尝试使用MinGW进行构建. 官网地址:http://libwebsockets.org/trac/libwebsockets下载地址:http:/ ...
-
XML PUBLISHER输出excel禁止自动将数字格式化处理
方案1: 在 rtf template 里头添加 =T("域"). 方案2: 加个无中断空格 0xA0 In the rtf template, ...
- 使用css3写一朵云
-
吴恩达deeplearning之CNN—卷积神经网络
https://blog.csdn.net/ice_actor/article/details/78648780 个人理解: 卷积计算的过程其实是将原始的全连接换成了卷积全连接,每个kernel为对应 ...
-
解决tomcat报错javax.imageio.IIOException: Can't create output stream!
启动tomcat catalina.out报错如下,登陆的时候无法显示验证码 2017-06-09 11:23:06,628 DEBUG org.springframework.web.servlet ...
-
rpm和yum的区别
rpm 只能安装已经下载到本地机器上的rpm 包, yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的.
-
【转载】45个设计师们不常见的html5和css3漂亮模板
对于Web开发人员来说,当他们需要创建一个非常时尚和新潮的CSS3和HTML5网站时需要非常专业的水准.html5和css3的结合能够做出非同寻常的网站效果..所以,今天,我推荐给大家45个免费的时尚 ...
-
C语言--第0次作业;
第零次作业 1.你对网络专业或者计算机专业了解是怎样? 在高考之前,我就确定了自己的大学专业将会选择计算机方面.我认为计算机专业就业前景比较好,计算机行业发展也非常快,学科实践与创新能力也比较强,在当 ...