很久没有配置开发环境了,刚换了新电脑,正好借机会重新配置一下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. 我的Android 4 学习系列之文件、保存状态和首选项

    目录 使用Shared Preference 保留简单的应用程序数据 保存回话间的Activity实例数据 管理应用程序首选项和创建Preference Screen 保存并加载文件以及管理本地文件系 ...

  2. c#线程的几种启动方法

    一 启动普通线程 ThreadStart与ParameterizedThreadStart建立新线程 优缺点:简单,但难于管理,线程过多会影响系统的性能. 二 启动CLR线程池的工作者线程(普通线程和 ...

  3. ASP.NET MVC应用程序更新相关数据

    为ASP.NET MVC应用程序更新相关数据 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译, ...

  4. Linq无聊练习系列7----Insert,delete,update,attach操作练习

    /*********************Insert,delete,update,attach操作练习**********************************/            ...

  5. RabbmitMQ集群搭建流程

    参考资料 1.rabbmitMQ集群搭建http://my.oschina.net/guol/blog/186445http://blog.ftofficer.com/2010/03/translat ...

  6. C语言基础复习总结

    C语言基础复习总结 大一学的C++,不过后来一直没用,大多还给老师了,最近看传智李明杰老师的ios课程的C语言入门部分,用了一周,每晚上看大概两小时左右,效果真是顶一学期的课,也许是因为有开发经验吧, ...

  7. Leetcode:Minimus Depth of Binary Tree

    The problem description: Given a binary tree, find its minimum depth. The minimum depth is the numbe ...

  8. nginx日志简单分析工具

    自己有个tony6.com的服务器,上面挂着我的博客,web服务器是nginx. 由于最近一直在折腾python,所以简单写了个nginx日志分析工具,它可以分析出每个IP的点击数量和IP所在地. # ...

  9. Asycn/Await 异步编程初窥

    经过两天密集型的学习,翻阅了大量 webpages ,点击了不少重点 blogs,总算基本了解了一些 async/await 搭配使用的入门技巧,总结一下 1. async/await 应该只是语法上 ...

  10. JavaScript怎么上传图片

    JavaScript怎么上传图片 在XMLHttpRequest Level2出台之前,大多数的异步上传图片都是利用iframe去实现的. 至于具体的实现细节,我就不在这边啰嗦的,Google一下就有 ...