很久没有配置开发环境了,刚换了新电脑,正好借机会重新配置一下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. JS中的prototype(转载)

    在研究别人写的js图像处理算法时,发现其中脚本中大量使用prototype,很难读明白,就网上查了下资料发现这篇文章很易懂,就转载如下: 1 原型法设计模式 在.Net中可以使用clone()来实现原 ...

  2. C++一些注意点之转换操作符

    转换操作符定义 类可通过一个实参调用的非explicit构造函数定义一个隐式转换(其他类型—>类类型).当提供了实参类型的对象而需要一个类类型的对象时,编译器将使用该转换.这种构造函数定义了到类 ...

  3. Django是Python下的一款网络服务器框架

    被解放的姜戈01 初试天涯   Django是Python下的一款网络服务器框架.Python下有许多款不同的框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django ...

  4. ubuntu下无法打开windows下ntfs文件系统的解决方法

    例如:/dev/sda5无法加载,使用如下命令 sudo ntfsfix /dev/sda5 如果命令没有安装,先安装(sudo apt-get install ntfsprogs).

  5. Competitive

  6. MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 五 --- 为List<MongoDBRef>增加扩展方法

    本次改动主要内容:为List<MongoDBRef>增加扩展方法 在MongoDB.Repository的使用过程中,发现在一个类中只定义一个List<MongoDBRef>是 ...

  7. 记一次有趣的互联网事件及console.log~

    寂寞的中国互联网又一次瘫痪了. 说是顶级域的根挂了,不知道是黑客还是某个实习生干挂的. 反正到现在还没有人来解释这件事. 先普及一下,为什么顶级域的根挂了全中国都挂了. 那是因为dns解析的特点是递归 ...

  8. SQLSERVER到底能识别多少个逻辑CPU?

    SQLSERVER到底能识别多少个逻辑CPU? SQLSERVER到底能识别多少个逻辑CPU? 前言 在前几天在论坛有人遇到SQLSERVER识别逻辑CPU的问题 帖子地址: http://socia ...

  9. MSSQL Rebuild(重建)索引

    MSSQL Rebuild(重建)索引 前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql: DECLARE @tab ...

  10. ASP.NET4.5Web API及非同步程序开发系列3

    ASP.NET4.5Web API及非同步程序开发系列(3) 接着上一篇博客的内容做一个补充,正好是一个大哥提出来的,我们看看一个有趣的现象. 请求相关问题的补充: 我们先在Controller中的定 ...