利用n工具轻松管理Node.js的版本
发布时间 - 2026-01-11 00:45:26 点击率:次前言

相信对于学习Node.js的小伙伴们都知道,现在 Node 的版本更新很快,目前最新稳定版已经更新到 v7.6.0 了,而生产环境一般选择使用 LTS(Long-term Support)版本,目前最新的是 v6.10.0。
LTS本地下载:点击这里
新版的 Node 7.x.x 有非常有用的更新,那就是支持了 --harmony-async-await。这样就不用依赖 babel 来使用 async/await 特性了。
但是,如何让 7.x.x 和 LTS 的 6.x.x 并存呢?就需要用 Node 版本管理工具了。
之前常用的 Node 版本管理工具是 nvm,这是一个 shell 工具,能够比较方便地切换 Node 版本。
nvm本地下载:点击这里
不过今天我要介绍给大家的是另一款更简单好用的 Node 版本管理工具,它本身是一个 Node 模块,叫做 n,它是由 TJ 大大开发的
n 本地下载:点击这里
强调简单化的版本管理工具:
Node.js version management: no subshells, no profile setup, no convoluted API, just simple.
安装 n
要安装 n 非常简单,它本身是一个 NPM 模块,因此:
npm -g install n
使用和设置
要使用 n 安装特定版本的 node,只需要如下命令:
n stable #安装最新的稳定版 n lts #安装最新的 LTS 版 n 6.9.0 #安装特定的 v6.9.0 版本
安装完成多个版本后,直接输入不带参数的 n 命令,会出现一个已安装版本的列表:
用键盘上下键选择版本,然后回车,就可以切换默认 Node 版本。
直接启动不同版本的 Node
假如我们将默认的 Node 版本设置为 6.10.0 了,而我们要使用 7.6.0 启动某个应用,也非常简单,只需要:
n use 7.6.0 index.js
于是,我们可以这么用:
async.js
'use strict'
let randomDelay = () => new Promise(function(resolve){
var delay = Math.round(Math.random() * 1000);
setTimeout(function(){
console.log('delay ' + delay + ' ms');
resolve(delay);
}, delay);
});
async function main(){
await Promise.all([randomDelay(), randomDelay()]);
console.log('pass');
await randomDelay();
}
main();
n use 7.6.0 async.js
你会看到类似下面这样的输出结果,说明我们不需要 babel,直接可以用 Node 7.6.0 支持 async/await 了。
delay 252 ms delay 964 ms pass delay 536 ms
最后,我们可以创建一个快捷的命令:
echo alias node7="\"n use 7.6.0 --harmony-async-await\"" >> ~/.bashrc source ~/.bashrc
这样我们就可以愉快地使用 node v7.x.x 运行我们的 js 了:
node7 async.js
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# nodejs
# 版本
# n
# 多版本管理
# nodejs版本管理工具
# 详解使用nvm管理多版本node的方法
# 详解node nvm进行node多版本管理
# nodejs多版本管理总结
# 详解如何使用nvm管理Node.js多版本
# 详解nvm管理多版本node踩坑
# node.js版本管理工具n无效的原理和解决方法
# node版本管理工具n包使用教程详解
# 利用nvm管理多个版本的node.js与npm详解
# mac中利用NVM管理不同node版本的方法详解
# 使用nvm管理不同版本的node与npm的方法
# Windows上node.js的多版本管理工具用法实例分析
# 本地下载
# 点击这里
# 的是
# 是一个
# 我们可以
# 只需要
# 要使
# 就可以
# 它本身
# 稳定版
# 我要
# 多个
# 你会
# 不需要
# 是由
# 可以用
# 这是一个
# 给大家
# 这篇文章
# 谢谢大家
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
bootstrap日历插件datetimepicker使用方法
QQ浏览器网页版登录入口 个人中心在线进入
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
如何挑选最适合建站的高性能VPS主机?
Android滚轮选择时间控件使用详解
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Laravel Docker环境搭建教程_Laravel Sail使用指南
Android GridView 滑动条设置一直显示状态(推荐)
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
EditPlus中的正则表达式 实战(2)
WEB开发之注册页面验证码倒计时代码的实现
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
装修招标网站设计制作流程,装修招标流程?
如何用景安虚拟主机手机版绑定域名建站?
jquery插件bootstrapValidator表单验证详解
如何获取PHP WAP自助建站系统源码?
昵图网官方站入口 昵图网素材图库官网入口
Laravel如何处理和验证JSON类型的数据库字段
Laravel如何为API生成Swagger或OpenAPI文档
如何在万网自助建站中设置域名及备案?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
如何在阿里云完成域名注册与建站?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
微信公众帐号开发教程之图文消息全攻略
Laravel如何处理文件下载请求?(Response示例)
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何快速选择适合个人网站的云服务器配置?
如何基于PHP生成高效IDC网络公司建站源码?
在Oracle关闭情况下如何修改spfile的参数
如何在IIS服务器上快速部署高效网站?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel中的Facade(门面)到底是什么原理
清除minerd进程的简单方法
如何快速生成高效建站系统源代码?
Laravel如何使用Eloquent进行子查询
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
文字头像制作网站推荐软件,醒图能自动配文字吗?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何快速查询网址的建站时间与历史轨迹?
深入理解Android中的xmlns:tools属性
下一篇:Linux如何添加和删除静态路由
下一篇:Linux如何添加和删除静态路由

