使用 WSL 2 设置 Node.js 开发环境

转自microsoft

使用 WSL 2 设置 Node.js 开发环境

安装 WSL 2

要启用和安装 WSL 2,请按照 WSL 安装文档中的步骤操作。 这些步骤将包含选择 Linux 发行版(例如 Ubuntu)。

安装 WSL 2 和 Linux 发行版后,打开 Linux 发行版(可在 Windows 的开始菜单中找到),并使用命令 lsb_release -dc 查看版本和代码名称。

建议定期更新 Linux 发行版,包括在安装之后立即更新,以确保具有最新的包。 Windows 不会自动处理此更新。 要更新发行版,请使用命令:sudo apt update && sudo apt upgrade。

安装 Windows 终端(可选)

新的 Windows 终端可启用多个选项卡(在多个 Linux 命令行、Windows 命令提示符、PowerShell 和 Azure CLI 等之间快速切换)、创建键绑定(用于打开或关闭选项卡、复制粘贴等的快捷方式键)、使用搜索功能,以及使用自定义主题(配色方案、字体样式和大小、背景图像/模糊/透明度)。 了解详细信息

在 Microsoft Store 中获取 Windows 终端:通过 Microsoft Store 进行安装时,将自动处理更新。

安装完成后,打开 Windows 终端并选择“设置”以使用 settings.json 文件自定义终端。

安装 nvm、node.js 和 npm

可通过多种方式安装 Node.js。 建议使用版本管理器,因为版本变更速度非常快。 你可能需要根据所使用的不同项目的需要在多个版本之间进行切换。 Node 版本管理器(通常称为 nvm)是安装多个版本的 Node.js 的最常见方法。 我们将演练安装 nvm 的步骤,然后使用它来安装 Node.js 和节点包管理器 (npm)。 下一节中还会介绍供考虑的替代版本管理器

 重要

在安装版本管理器之前,始终建议从操作系统中删除 Node.js 或 npm 的任何现有安装,因为不同的安装类型可能会导致出现奇怪和混淆的冲突。 例如,可以使用 Ubuntu 的 apt-get 命令安装的 Node 版本当前已过时。 有关删除先前安装的帮助,请参阅如何从 ubuntu 中删除 node.js

打开 Ubuntu 18.04 命令行。

使用以下命令安装 cURL(用于在命令行中从 Internet 下载内容的工具):sudo apt-get install curl

使用以下命令安装 nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

 备注

发布时,NVM v0.35.3 是可用的最新版本。 你可以查看最新版本的 NVM 的 GitHub 项目页,并调整上述命令以包含最新版本。 使用 cURL 安装较新版本的 NVM 将替换旧版本,并使已使用 NVM 进行安装的 Node 版本保持不变。 例如:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

若要验证安装,请输入:command -v nvm。此命令应返回“nvm”,如果你收到“找不到命令”或根本没有响应,请关闭当前终端,将其重新打开,然后重试。 在 nvm github 存储库中了解详细信息

列出当前安装的 Node 版本(此时应为无):nvm ls

安装 Node.js 的当前版本(用于测试最新的功能改进,但更容易出现问题):nvm install node

安装 Node.js 的最新稳定 LTS 版本(推荐):nvm install node --lts

列出安装的 Node 版本:nvm ls。现在应会看到刚安装的两个版本。

使用以下命令验证 Node.js 是否已安装,以及是否为当前默认版本:node --version。 然后使用以下命令验证是否也有 npm:npm --version(还可以使用 which node 或 which npm 来查看用于默认版本的路径)。

若要更改要用于项目的 Node.js 版本,请创建新的项目目录 mkdir NodeTest,输入目录 cd NodeTest,然后输入 nvm use node 切换到当前版本,或输入 nvm use --lts 切换到 LTS 版本。 你还可以使用已安装的任何其他版本的特定数量,如 nvm use v8.2.1。 (若要列出 Node.js 的所有可用版本,请使用以下命令:nvm ls-remote)。

如果要使用 NVM 安装 Node.js 和 NPM,则不需要使用 SUDO 命令来安装新包。

替代版本管理器

虽然 nvm 目前是最常用的节点版本管理器,但需要考虑一些替代版本管理器:

n 是长期存在的 nvm 替代方法,该方法使用略微不同的命令来完成相同的操作,并通过 npm 而不是 bash 脚本来安装。

fnm 是较新的版本管理器,它声称比 nvm 快得多。 (它还使用 Azure 管道。)

Volta 是来自 LinkedIn 团队的新版本管理器,它声称改进了速度和跨平台支持。

asdf-vm 是适用于多种语言的单个 CLI,例如将 ike gvm、nvm、rbenv 和 pyenv(等)整合在一起。

nvs(Node 版本切换器)是跨平台的 nvm 替代方法,可与 VS Code 集成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352