# node
node由于各个版本特性不同,很多项目需要使用不同版本的node,所以推荐使用[nvm(Node Version Manager)](https://github.com/creationix/nvm)进行管理。
### Mac下安装
### brew方式
如果机器没有安装过node,那么首先`brew install nvm`安装nvm。
其次需要在shell的配置文件(~/.bashrc, ~/.profile, or ~/.zshrc)中添加如下内容:
~~~
# For NVM
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
~~~
注意配置的顺序,以防开启新终端,node出现找不到的情况。
重启终端,命令行下即可使用nvm,使用`nvm install <version>`进行对应的node版本安装,写这篇文章时,我使用的是`nvm install 0.10`,安装的版本是v0.10.32。使用`nvm use <version>`使用, 再通过`nvm alias default <version>`确保有默认版本。最后使用`nvm ls`查看。
### brew方式补充
如果之前通过'brew install node'方式安装过node,那么需要先删除系统中存在的node:
~~~
brew remove --force node
sudo rm -r /usr/local/lib/node_modules
brew prune
sudo rm -r /usr/local/include/node
# 检查brew是否正常
brew doctor
~~~
### nvm安装方式
`curl https://raw.githubusercontent.com/creationix/nvm/v0.17.2/install.sh | bash`进行安装,安装完成后,运行`nvm`测试命令是否正确,如果不正确,参考官网提供的说明,也是需要在shell的配置文件中加入相应的配置。
如果安装正确,同样使用`nvm install <version>`安装对应版本node,使用`nvm use <version>`使用, 再通过`nvm alias default <version>`确保有默认版本。最后使用`nvm ls`查看。
设置完nvm之后,node的路径其实是`/Users/#{username}/.nvm/#{nodeVersion}/bin/node`, 一些sublimeText插件默认的路径是`/usr/local/bin/node`。个人建议创建一个软连接:
~~~
ln -s /Users/#{username}/.nvm/#{nodeVersion}/bin/node /usr/local/bin/node
~~~
### Windows下安装
window下我之前都是直接node官网下载mis文件安装。后续尝试使用类nvm工具安装管理。
### nvm-windows方式
睡觉前看了一眼,简直不能再便捷了!!!项目地址: [nvm-windows](https://github.com/coreybutler/nvm-windows)
下载安装包,不管之前系统安装过node与否,安装过会接管。就能直接使用nvm命令。
### npm的管理
通过nvm安装的node,每个版本都有一个对应的npm。每次切换,可以使用`npm update -g`进行一次升级,安装程序的话,需要使用sudo权限。
有一点疑问,如何同步之前安装的所有-g模块。。??
### 参考资料
- [node包教不包会](https://github.com/alsotang/node-lessons)
- 介紹
- 程序员基础知识
- 字符编码
- 技术名词
- 语义化版本
- 命名规范
- 书写文档
- 开源协议
- 目录结构
- 正则表达式
- 平凡之路
- 数据结构与算法
- 堆和栈
- 浮点数类型
- XML和JSON
- 算法学习之路
- 排序算法
- 代码架构
- 设计模式
- 常用的Javascript设计模式
- 面向对象编程
- 继承
- 多态
- 封装
- 面向接口编程
- 代码评审
- 六种量化你代码的方式
- 程序员必备的代码审查(Code Review)清单
- 服务器部署
- AWS简介
- 网络知识
- HTTPS, SPDY和 HTTP/2性能的简单对比
- HTTP状态码
- 懂点设计
- 佳作赏析
- 无缝平铺
- Sketch学习
- 设计与实现的平衡
- 写点东西
- 使用gitbook
- 合格的PM
- 一个好的产品经理
- 产品经理的技能
- 团队合作
- 关于招聘
- 培训新人
- 领导能力
- 获取知识
- MOOC
- Podcasts
- 英语学习
- 设计学习
- 前端学习
- iOS学习
- 游戏开发
- 关注健康
- 过劳检测
- 关于睡眠
- 提升效率
- 学会阅读
- 学会提问
- 善用搜索
- 学会写作
- 时间管理
- 知识管理
- 文件管理
- 密码管理
- 制作视频
- 制作PPT
- 论音乐对效率的影响
- 程序员效率指南
- SOHO
- 创业资源
- Hacker
- 保护隐私
- 关于工作
- 找工作前需要思考的问题
- 原则与技巧
- 关于简历
- 其他方面
- 硬件相关
- 常用软件
- Windows
- 硬件配置
- 系统安装
- 常用软件
- Mac
- 通用设置
- 权限问题
- alias设置
- 常用软件
- 开发环境
- 快捷键设置
- 常用终端命令
- dotfiles
- Android
- 常用软件
- 如何登录美国区GooglePlay
- 开发工具
- git
- EditorConfig
- node
- shadowsocks
- ST3--Windows篇
- ST3--Mac篇
- gulp
- 字体的选择
- Emacs
- WebStorm
- tmux
- Sketch
- Sketch中文学习资料
- Trello
- 使用Trello管理项目的经验
- git进阶
- 15分钟学会使用Git和远程代码库
- GitHub秘籍
- JetBrains
- IDE设置
- 附录
- 计算机科学与技术
- 网站
- 书籍
- 工具