mac nodejs安装
很久没有配置开发环境了,刚换了新电脑,正好借机会重新配置一下node相关的开发环境
安装 nvm :Node Version Manager
由于nodejs版本更新迭代较快,而不同版本间的差异又很大,你的PC上很能会同时存在多个版本的nodejs,通过nvm来安装、卸载以及管理nodejs是一个非常好的选择
- 安装xcode
nvm依赖c++ 编译器,在mac上,直接appStore安装xcode即可。
- 安装nvm
在命令行中执行如下命令
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
此处在我的电脑上提示错误了,提示找不到(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc),
因为我这是新电脑,没做过任何配置,因此没有这几个文件,而nvm安装时,要在对应的文件中写入配置信息,我们手工生成一个(四个名称中选一个即可)
touch ~/.bashrc
生成文件后可以按照官方文档提示的,编辑你刚生成的配置文件,手工添加下面的代码,也可以再执行一次安装命令
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
上述操作执行完成后,在命令行中输入nvm
会提示你找不到该命令,因为我们刚刚只是修改完了配置文件,并没有使其生效,需执行如下代码
source ~/.bashrc
安装nodejs
- 首先查看当前可用的nodejs版本,因为版本较多,我们主要查看稳定版
nvm ls-remote --lts
- 安装node
可以直接执行,如下命令,默认安装最新版本的nodejs程序
nvm install node
也可以通过版本号 安装制定版本的nodejs
nvm isntall v6.9.4
通过npm 管理nodejs插件
通常情况下,这样node就可以正常使用了,借助npm来管理各种包依赖即可,但是对出生日期介于狮子座和处女座之间的人来说,还有点小小的强迫症。
全局安装的包是安装在你当前版本node下,切换版本后需要重新安装全局的包,这就有点不能忍了,太占空间了。
这里尝试修改一下包的全局安装路径,我们要修改 prefix
参数,先查看下当前设置
npm config get prefix 先查看当前全局安装的路径
我此处设置prefix
路径为 '/Users/nearthesea/.nvm/npm'
npm config set prefix '/Users/nearthesea/.nvm/npm'
以全局安装gulp为例,被可以看到执行下面命令后,gulpb安装到'/Users/nearthesea/.nvm/npm/lib/node_moduls/gulp'下
npm install gulp -g
这样还没结束,在命令行输入gulp
会提示你找不到命令,甚至node npm nvm全都不好用了....
nvm is not compatible with the npm config "prefix" option: currently set to "/Users/nearthesea/.nvm/npm"
经过不断尝试,最后求助大神,我们再次修改 .bashrc
文件,添加如下代码,并执行 source ~/.bashrc
export PATH=/Users/nearthesea/.nvm/npm/bin:$PATH
OK,现在可以正常应用了,在实际工作中,我还需要在项目的文件夹下本地安装一次,剩下的就不多说了。
mac nodejs安装的更多相关文章
- Mac下安装node.js和webpack
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #393939 } p.p2 ...
- 1. mac 手动安装nodejs搭建vue环境
为什么选择手动安装nodejs呢? 因为使用mac自动安装还要更新homebrew,还要安装xcode tool, 太费劲了,不如手动安装, 卸载起来也方便 再一个, 我是后台开发者, 对前端页面, ...
- Mac中安装node.js和npm
换了Mac需要安装noed.js和npm记录一下首先访问node.js官网(https://nodejs.org/en/download/) 点击下载完后,一路点安装 就安装完成了 然后打开-终端-输 ...
- MAC终端安装grunt--javascript世界得构建工具
祝贺我成为前端啦!~~从年前得小测试到今年得前端,成功转型!我真是一个进步得好青年,好少女! 这两天出去受虐,面了两家前端,表现非常不好,还是回到我现在得公司好好沉淀技术,做前端,要经常性得整理总结, ...
- mac上安装mongoDb以及简单使用
年初粗略学习了下node,这好几个月没玩,突然发现已经忘完了,还是简单记录下基本知识,方便再次使用时资料查找. 一.mongoDb安装 在mac上安装了brew的情况下,可以直接执行命令 brew i ...
- 转-MAC 下安装PHONEGAP开发环境
来自:http://jinzhe.net/post/8.html 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统. ...
- MAC 中安装和使用express
其实window系统和mac的操作在大致上其实是想同的,只是一些细节的区别,以下对在mac下安装和使用express做简要介绍,如有不妥之处请各位大神指教. 一.首先要测试node和npm是否已经正确 ...
- nodejs安装管理工具nvm的安装和使用
https://segmentfault.com/a/1190000007612011 Windows下载安装程序安装过程中,在 Set Node.js Symlink 这一步设置nodejs程序目录 ...
- Nodejs学习笔记(1) Nodejs安装+借助express模块简单部署服务器
1 安装 1.1 下载和安装 1.2 什么是REPL?如何使用? 1.3 npm对单一模块的安装和删除功能 1.4 通过package.json自定义模块(安装模块) 1.5 设置全局目录 2 部署网 ...
随机推荐
- 读书笔记—CLR via C#同步构造28-29章节
前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...
- oracle中intersect的用法
和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的.不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 I ...
- form-validation--表单验证插件
基于jquery的validationEngine表单验证插件,根据官网提示,该插件支持IE6-8,Chrome浏览器,火狐,Safari,Opera 10,但由于有使用到了css3的阴影和圆角样式, ...
- Effective C++(12) 复制对象时要复制每一个成员
问题聚焦: 负责拷贝的两个操作:拷贝构造函数和重载赋值操作符. 一句话总结,确保被拷贝对象的所有成员变量都做一份拷贝. Demo void logCall(const std::string&am ...
- C#Winform中的一个登录解说(转载的哟,比较不错)
最近,看到网上经常会问如何进行窗口跳转,大多数的问题都是牵扯到Login窗口.其实,在Visual Studio 6以来,比较正确的做法,是判断Login窗口的返回值,然后决定是否打开主窗体,那么在C ...
- iOS基础 - Quartz 2D绘图的基本步骤
一.使用Quartz 2D绘图的基本步骤 1) 获取上下文context(绘制图形的地方) 2) 设置路径(路径是用来描述形状的) 3) 将路径添加到上下文 4) 设置上下文属性(设置颜色,线宽, ...
- vijos1009:扩展欧几里得算法
1009:数论 扩展欧几里得算法 其实自己对扩展欧几里得算法一直很不熟悉...应该是因为之前不太理解的缘故吧这次再次思考,回看了某位大神的推导以及某位大神的模板应该算是有所领悟了 首先根据题意:L1= ...
- Python多线程的创建,相关函数和守护线程的理解
一:多线程的创建 threading库创建线程有两种方式,函数式和继承式 1)函数式 def func(): print 'Starting' print 'Ending' t=threadin ...
- C++拷贝构造函数总结
C++拷贝构造函数总结 目录: 拷贝构造函数的基础知识 拷贝构造函数的使用 拷贝构造函数的行为 1.拷贝构造函数的基础知识 拷贝构造函数(copy constructor)是构造函数,是拷贝已经存在的 ...
- BroadcastReceiver基础总结
BroadcastReceiver基础总结 BroadcastReceiver是Android四大组件之一,主要负责接收系统或其他程序发出的广播,在开发中,通常用做事件驱动的起源,比如开机就要开启一个 ...