很久没有配置开发环境了,刚换了新电脑,正好借机会重新配置一下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. Javascript多线程引擎(五)

    Javascript多线程引擎(五)之异常处理 C语言没有提供一个像Java一样的异常处理机制, 这就带来了一个问题, 对于一个子函数中发生异常后, 需要在父函数调用子函数的位置进行Check, 如果 ...

  2. 构建具有深度和灵活性的安卓Wear应用

    自从去年Android 5.0发布以后就一直在关注可穿戴方面的事情.这个年的前后一直在忖度该怎么海淘一个moto 360,可是考虑到iWatch在本年度四月份发布,估计现在已经有的Android可穿戴 ...

  3. iOS基础 - UIDynamic

    一.UIKit动力学 UIKit动力学最大的特点是将现实世界动力驱动的动画引入了UIKit,比如重力,铰链连接,碰撞,悬挂等效果,即将2D物理引擎引入了UIKit 注意:UIKit动力学的引入,并不是 ...

  4. ASP.NET MVC中使用Unity进行依赖注入的三种方式

    在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...

  5. 强制卸载VS2013

    最近因为VS2013闹许可证过期问题,加之又发现新版本update5,所以就想卸掉重装,但是按照正常的卸载,发现卸载不了,再后来force强制卸载,OK了. force强制卸载: 首先如果安装了中文包 ...

  6. [转]在 Mac OS X上编译 libimobiledevice 的方法

    link: http://blog.boceto.fr/2012/05/05/libimobiledevice-for-macosx/ The objective of the day: Compil ...

  7. OAuth的一个.NET开源实现

    从编译DotNetOpenAuth中学到的程序集强签名知识 OAuth的一个.NET开源实现,官方网站:http://dotnetopenauth.net/ . 从GitHub签出DotNetOpen ...

  8. iOS内存错误EXC_BAD_ACCESS的解决方法(message sent to deallocated instance)

    iOS开发,最郁闷的莫过于程序毫无征兆地就崩溃了,用bt命令打出调用栈,给出的是一堆系统EXC_BAD_ACCESS的信息,根本没办法定位问题出现在哪里.通常这样的崩溃出现,原因一般就是:调用了已经释 ...

  9. c语言,字符串原地翻转

    实现字符串的原地翻转: #include<stdlib.h> #include<stdio.h> #include<assert.h> #define SWAP(a ...

  10. [NLP自然语言处理]计算熵和KL距离,java实现汉字和英文单词的识别,UTF8变长字符读取

    算法任务: 1. 给定一个文件,统计这个文件中所有字符的相对频率(相对频率就是这些字符出现的概率——该字符出现次数除以字符总个数,并计算该文件的熵). 2. 给定另外一个文件,按上述同样的方法计算字符 ...