很久没有配置开发环境了,刚换了新电脑,正好借机会重新配置一下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安装的更多相关文章

  1. Mac下安装node.js和webpack

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #393939 } p.p2 ...

  2. 1. mac 手动安装nodejs搭建vue环境

    为什么选择手动安装nodejs呢? 因为使用mac自动安装还要更新homebrew,还要安装xcode tool, 太费劲了,不如手动安装, 卸载起来也方便 再一个, 我是后台开发者, 对前端页面, ...

  3. Mac中安装node.js和npm

    换了Mac需要安装noed.js和npm记录一下首先访问node.js官网(https://nodejs.org/en/download/) 点击下载完后,一路点安装 就安装完成了 然后打开-终端-输 ...

  4. MAC终端安装grunt--javascript世界得构建工具

    祝贺我成为前端啦!~~从年前得小测试到今年得前端,成功转型!我真是一个进步得好青年,好少女! 这两天出去受虐,面了两家前端,表现非常不好,还是回到我现在得公司好好沉淀技术,做前端,要经常性得整理总结, ...

  5. mac上安装mongoDb以及简单使用

    年初粗略学习了下node,这好几个月没玩,突然发现已经忘完了,还是简单记录下基本知识,方便再次使用时资料查找. 一.mongoDb安装 在mac上安装了brew的情况下,可以直接执行命令 brew i ...

  6. 转-MAC 下安装PHONEGAP开发环境

    来自:http://jinzhe.net/post/8.html 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统. ...

  7. MAC 中安装和使用express

    其实window系统和mac的操作在大致上其实是想同的,只是一些细节的区别,以下对在mac下安装和使用express做简要介绍,如有不妥之处请各位大神指教. 一.首先要测试node和npm是否已经正确 ...

  8. nodejs安装管理工具nvm的安装和使用

    https://segmentfault.com/a/1190000007612011 Windows下载安装程序安装过程中,在 Set Node.js Symlink 这一步设置nodejs程序目录 ...

  9. Nodejs学习笔记(1) Nodejs安装+借助express模块简单部署服务器

    1 安装 1.1 下载和安装 1.2 什么是REPL?如何使用? 1.3 npm对单一模块的安装和删除功能 1.4 通过package.json自定义模块(安装模块) 1.5 设置全局目录 2 部署网 ...

随机推荐

  1. 读书笔记—CLR via C#同步构造28-29章节

    前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...

  2. oracle中intersect的用法

    和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的.不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 I ...

  3. form-validation--表单验证插件

    基于jquery的validationEngine表单验证插件,根据官网提示,该插件支持IE6-8,Chrome浏览器,火狐,Safari,Opera 10,但由于有使用到了css3的阴影和圆角样式, ...

  4. Effective C++(12) 复制对象时要复制每一个成员

    问题聚焦: 负责拷贝的两个操作:拷贝构造函数和重载赋值操作符. 一句话总结,确保被拷贝对象的所有成员变量都做一份拷贝. Demo   void logCall(const std::string&am ...

  5. C#Winform中的一个登录解说(转载的哟,比较不错)

    最近,看到网上经常会问如何进行窗口跳转,大多数的问题都是牵扯到Login窗口.其实,在Visual Studio 6以来,比较正确的做法,是判断Login窗口的返回值,然后决定是否打开主窗体,那么在C ...

  6. iOS基础 - Quartz 2D绘图的基本步骤

    一.使用Quartz 2D绘图的基本步骤 1) 获取上下文context(绘制图形的地方) 2) 设置路径(路径是用来描述形状的) 3)  将路径添加到上下文 4)  设置上下文属性(设置颜色,线宽, ...

  7. vijos1009:扩展欧几里得算法

    1009:数论 扩展欧几里得算法 其实自己对扩展欧几里得算法一直很不熟悉...应该是因为之前不太理解的缘故吧这次再次思考,回看了某位大神的推导以及某位大神的模板应该算是有所领悟了 首先根据题意:L1= ...

  8. Python多线程的创建,相关函数和守护线程的理解

    一:多线程的创建 threading库创建线程有两种方式,函数式和继承式    1)函数式 def func(): print 'Starting' print 'Ending' t=threadin ...

  9. C++拷贝构造函数总结

    C++拷贝构造函数总结 目录: 拷贝构造函数的基础知识 拷贝构造函数的使用 拷贝构造函数的行为 1.拷贝构造函数的基础知识 拷贝构造函数(copy constructor)是构造函数,是拷贝已经存在的 ...

  10. BroadcastReceiver基础总结

    BroadcastReceiver基础总结 BroadcastReceiver是Android四大组件之一,主要负责接收系统或其他程序发出的广播,在开发中,通常用做事件驱动的起源,比如开机就要开启一个 ...