来自微软的windows上安装node.js的教程

翻译这篇文章的缘起是我在网上找node.js安装教程,照着操作,总是在使用的时候各种不舒服。考虑node.js本身于windows 的兼容(尤其是包),可能是系统原生的水土不服。后来换成英文搜索了下,找到这篇文章,翻译过来,备份留档,也希望对有需要的朋友有所帮助。

原文链接:https://docs.microsoft.com/en-us/windows/nodejs/setup-on-windows

在windows系统上直接配置你的Node.js开发环境

本篇文章中的内容

安装nvm-windows, node.js和npm
挑选一款版本控制软件
安装你喜欢的代码编辑器
安装Git(可选)

以下内容将引导你逐步在本地windows中安装使用Node.js。

注意:
在windows中使用node.js自然是可行的,但一般我们建议在WSL(windows 10 自带的linux子系统)中使用Node.js进行网络程序的开发。考虑到许多Node.js的包和框架都是在类unix系统中开发的;大部分Node.js的应用也是以linux作为部署的目标环境,所以在开发中确保你的开发环境和部署环境的一致。关于在WSL中配置开发环境,请移步 Set up your Node.js development environment with WSL 2.

安装nvm-windows, node.js和npm

有许多方法安装node.js,我们建议使用版本管理器,因为版本的变换很快。你可能需要在开发中根据不同的项目在不同的版本中切换。Node版本管理器,即俗称的nvm,是最流行的Node.js版本管理方式,但是nvm只支持Mac/Linux,并不支持windows。作为替代方案,我们将逐步安装nvm-windows,并用它来安装node.js和Node的包管理器(npm)。这里是一些考虑之列的版本管理器 alternative version managers
,我们将在接下来的内容讨论。

重要:
为了避免因nvm-windows可能导致的冲突,我们建议在安装之前卸载已经安装的node.js或者npm。同时要删除之前的安装目录(比如"C:\Program Files\nodejs"),如果目录存在的话。nvm的生成的链接并不会覆盖已存在的安装路径,即使目录是空的。关于如何卸载之前的安装,如需要更多帮助,请移步How to completely remove node.js from Windows.)

  1. 浏览器打开windows-nvmwindows-nvm repository
    的库,并找到下载按钮。

  2. 下载最新版本的nvm-setup.zip文件。

  3. 完成下载后,解压运行nvm-set.exe。

  4. 跟随安装程序进行设置,包括选择安装目录,目录将被用来安装nvm-windows和nodejs。


    image
  5. 安装完成后,打开powershell,尝试使用nvm-windows列出当前已安装的node版本(目前应该是没有的):nvm ls

    image

  6. 安装最新版的node.js(用于测试最新的功能、特性,但问题往往比LTS版本多):nvm install latest

  7. 安装LTS版本的node.js(推荐),查看当前LTS的版本号:nvm list available ,然后根据版本号安装相应的nodejs:nvm install <version> (替换<version>为版本号,比如:nvm install 10.16.3)。

    image

  8. 显示已安装的nodejs版本:nvm ls。现在你应该看到刚刚安装的两个版本。

    image

  9. 检查默认nodejs版本,使用:node -- version

  10. 如果某个项目你需要改变nodejs的版本,新建一个项目目录:mkdir NodeTest , 进入目录:cd NodeTest,然后输入:nvm use <version> 替换<version>为你需要的nodejs版本的版本号(比如:v10.16.3)。

  11. 检测某个版本的npm是否安装,使用:npm --version, 显示的版本号于你当前使用node.js版本是关联的,会自动改变。

Nodejs版本管理器的替代方案

翻译到这里的时候,我发现那个网页可以改成中文,虽然可能是机器翻译的,但是估计我随手翻译的质量也是半斤八两,所以我放弃了……

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容