使用nvm和nrm优化node.js工作流的方法


Posted in Javascript onJanuary 17, 2019

对于一个 Web 开发从业人员的电脑,node.js 和它的 npm 包管理工具那是少不了的,但是 node.js 的更新速度是非常快的,而生产环境一般选择使用 LTS(Long-term Support)版本,如何高效切换 node.js 的版本呢?对,使用 nvm。

使用 nvm

首先安装 nvm(github),使用官方文档的方法安装:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

或者使用Wget:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

然后可以下面的配置放入你的系统环境变量的文件中(通常安装过程中已经自动添加了),通常是这个文件就是 .bash_profile,在你的用户名文件夹下:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

好了,这时候直接输入 nvm 这个命令会出现 nvm: command not found,这是需要重新启动一下你的命令行工具就行了。

重新之后,我就可以使用它来管理我们的 node.js 的版本了。

安装最新版 node.js:

nvm install node

列出可以安装的 node.js 的版本:

nvm ls-remote

安装 node.js 某个具体版本,比如常用的 6.10.0:

nvm install v6.10.0

安装最新版,稳定版,lts 版本

nvm install node
nvm install stable
nvm install lts/*

安装 Node 新版本的同时,从另外一个仓库重新安装以前的包

nvm install node --reinstall-packages-from=v6.10.0

列出电脑中目前安装的所有的 node.js 的版本:

nvm list

看到了所有的可用的版本号,我们来切换版本:

nvm use v7.7.1

好了,熟悉这行常用命令已经够用了。但是,对于国内用户,还有个问题未解决,就是包管理工具 npm,经常安装一些包时会因为网络问题会出错,这是英文安装源是在国外服务器,现在我们想切换安装源的地址怎么办?对,使用 nrm。

使用 nrm

首先全局安装 nrm:

npm install -g nrm

安装完后就可以立即使用了,我们来列出可用的源:

nrm ls

会发现列出了下面几个源:

npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror  https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

当然这里我们选择国内淘宝的源:

nrm use taobao

好了一切大功告成!

更简单的 Node 版本管理工具 n

另一款更简单好用的 Node 版本管理工具,它本身是一个 Node 模块,叫做 n.

安装 n 非常简单:

npm -g install n

要使用 n 安装特定版本的 node,只需要如下命令:

n stable #安装最新的稳定版
n lts #安装最新的 LTS 版
n 6.9.0 #安装特定的 v6.9.0 版本

安装完成多个版本后,直接输入不带参数的 n 命令,会出现一个已安装版本的列表,用键盘上下键选择版本,然后回车,就可以切换默认 Node 版本。

假如我们将默认的 Node 版本设置为 6.10.0 了,而我们要使用 7.6.0 启动某个应用,也非常简单,只需要:

n use 7.6.0 index.js

最后,我们可以创建一个快捷的命令:

echo alias node7="\"n use 7.6.0 --harmony-async-await\"" >> ~/.bashrc
source ~/.bashrc

这样我们就可以愉快地使用 node v7.x.x 运行我们的 js 了:

node7 index.js

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
“不能执行已释放的Script代码”错误的原因及解决办法
Sep 09 Javascript
了解一点js的Eval函数
Jul 26 Javascript
解析js原生方法创建表格效率测试
Jul 08 Javascript
JS网页图片按比例自适应缩放实现方法
Jan 15 Javascript
javascript使用数组的push方法完成快速排序
Sep 15 Javascript
javascript委托(Delegate)blur和focus用法实例分析
May 26 Javascript
纯javascript制作日历控件
Jul 17 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
激动人心的 Angular HttpClient的源码解析
Jul 10 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
Nov 15 Javascript
Ant design vue中的联动选择取消操作
Oct 31 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 #Javascript
微信小程序使用wxParse解析html的方法示例
Jan 17 #Javascript
nvm、nrm、npm 安装和使用详解(小结)
Jan 17 #Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 #Javascript
如何能分清npm cnpm npx nvm
Jan 17 #Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 #Javascript
npm 常用命令详解(小结)
Jan 17 #Javascript
You might like
discuz7 phpMysql操作类
2009/06/21 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
php array的学习笔记
2012/05/10 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php检测文件编码的方法示例
2014/04/25 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php商品对比功能代码分享
2015/09/24 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
浅析python打包工具distutils、setuptools
2018/04/20 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
美国在线家具网站:GDFStudio
2021/03/13 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
学历公证书范本
2014/04/09 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
美元符号 $
2022/02/17 杂记