我为什么选择学习 Node.js

  1. Node.js前后端分离开发的新选择。比较热门的前端框架ReactVue都可以在Node.js环境上开发。
  2. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,最新的v13.7.0(2020年)已经已经支持了超过90%es6语法,虽然目前还未支持module import&export,不过相信这一天已经不远了。

*暴力安装法(可跳过):

这不是我要介绍的推荐方法,所以迫不及待的想要体验node.js的同学可以选择此方法偷懒。

  1. 登录官网,选择下载长期支持版LTS(优点稳定),或者当前发布版(优点尝鲜)

例如,我得到文件node-v12.14.1-x64.msi

  1. 双击运行.msi文件,一直点Next基本就完事了

安装 node.js 版本管理工具 nvm

nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本nodejs

下载解压

  • 首先去 Github nvm-windows 下载最新版本的nvm-setup.zip,解压后得到nvm-setup.exe

安装

  1. 双击打开nvm-setup.exe
  2. 看到第一步Licence Agreement窗口,选择I agree the agreement,点击Next>进入第二步。
  3. 看到第二步Select Destination Location窗口,然后我选择的 nvm 安装目录是 D:\dev\nvm , 点击Next>进入第三步
  4. 看到第三步Set Node.js Symlink窗口(设置符号链接),我选择的 nodejs 链接目录是 D:\dev\nodejs , 点击Next>进入第四步
  5. 看到第四步Ready to Install窗口,点击Install开始安装

检查环境变量变化

  • 系统变量中新增了NVM_HOMENVM_SYMLINK,如图所示

  • 系统变量 Path 的变量值中新增了%NVM_HOME%;%NVM_SYMLINK%

新的问题: nvm 命令找不到

现象

原因分析:环境变量未生效

解决方案1:重新启动计算机,环境变量会立即生效

解决方案2:

第一步,修改当前 dos 窗口的环境变量

set NVM_HOME
set NVM_SYMLINK
set PATH

第二步,关闭当前 dos 窗口,重新打开新的 dos 窗口,环境变量刷新了。

  • dos 窗口的环境变量是 Windows 环境变量的一个副本,使用 set 命令仅是修改该副本,不会影响 Windows 环境变量。
  • 使用 set 的方法触发操作系统重新加载 Windows 环境变量,实现不重启计算机,并刷新环境变量

为 nvm 配置 node 和 npm 下载镜像

在国内,访问 https://nodejs.org 并下载文件是比较慢的,因此推荐淘宝镜像http://npm.taobao.org/mirrors/

打开 dos 窗口,执行以下命令:

nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/

**检查 settings.txt **

D:\dev\nvm\settings.txt 文件中新增了两行:

node_mirror: https://npm.taobao.org/mirrors/node/

npm_mirror: https://npm.taobao.org/mirrors/npm/

注意:

nvm node_mirror https://npm.taobao.org/mirrors/npm/ 可写作nvm node_mirror https://npm.taobao.org/mirrors/npm,少一个/会导致 nvm ls available / nvm install <version> 等命令不能正常运行。

安装 nodejs 和 切换 nodejs 版本

1.查看本地安装的所有版本;有可选参数available,显示所有可下载的版本。

nvm list [available]

上图表示是命令1查询出来的列表。其中,LTS (Long Term Support), 表示长期支持版本。

2.安装,命令中的版本号可自定义,具体参考命令1 查询出来的列表

nvm install 12.14.1

上图表示 node v12.14.1 保存在 D:\dev\nvm 下。 settings.txt 文件中设置的** root: D:\dev\nvm** ,而root 表示存储不同版本node的目录。

3.使用特定版本

nvm use 12.14.1

上图表示使用 mvn use <version> 命令前后的变化。此时在 dos 窗口输入命令 node -v将看到 v12.14.1

4.卸载

nvm uninstall 12.14.1

npm 与 nodejs 的关系

npm 是什么?

  • npm 有两层含义,第一是npm这个开源的模块登记和管理系统,也就是这个站点:https://www.npmjs.com ,第二个指的是 nodejs package manager 也就是nodejs的包管理工具。我们主要说的就是这一个。

nodejs 安装自带 npm ?

  • npm 是 Nodejs 平台的默认包管理工具,由于新版的 NodeJS 已经集成了 npm ,所以 npm 会随同 NodeJS 一起安装。

尝试用淘宝镜像进行一次全局模式安装

执行命令

npm install es-checker -g --registry https://registry.npm.taobao.org

ES-Checker 是 ES6 的功能侦测库,感兴趣的,可以点击链接前往了解。

npm 全局安装位置在哪儿?

查阅 npm-folders 可以知道

  • Node Modules:在Unix系统上,全局安装位于 {prefix}/lib/node_modules。 Windows上的全局安装转到 {prefix}/ node_modules (即没有lib文件夹)。

  • 可执行文件:在全局模式下,可执行文件在Unix上链接到 {prefix}/bin,在Windows上直接链接到{prefix}

  • {prefix} config 默认为节点安装的位置。

查看 {prefix} 的保存位置

  • npm config get prefix

  • npm config ls -l

查看文件位置

  • Node Module

  • 可执行文件

npm 全局安装过哪些模块?

执行命令

npm ls -g -depth 0

运行结果

新的问题:切换 node 版本后还能找到之前安装的模块吗?

执行命令

nvm install 8.17.0
mvn use 8.17.0
npm ls -g -depth 0

执行结果

问题描述

对比使用 v12.14.1 和使用 v8.17.0 的全局安装模块,我们发现 mvn 切换 node 版本到 v8.17.0 后,居然就找不到使用 v12.14.1 安装的模块了!

解决方案

在每个版本的 nodejs 中,都会自带 npm,为了统一起见,我们安装一个全局的 npm 工具,解决切换 node 版本造成原来下载过的包不可用的问题。

安装一个全局 npm 工具

1.npm 配置 prefix

npm config set prefix D:\dev\nvm\global_modules
npm config get prefix

2.检查结果

在 *C:\Users\{你的用户名}* 下出现了一个文件 .npmrc 文件,文件中内容为prefix=D:\dev\nvm\global_modules

**3.安装全局 npm **

npm install npm -g --registry https://registry.npm.taobao.org

4.为全局 npm 设置环境变量

  • 新建变量 NPM_HOME=D:\dev\nvm\npm
  • 修改 Path 变量值末尾的 ;%NVM_HOME%;%NVM_SYMLINK% -> ;%NPM_HOME%;%NVM_HOME%;%NVM_SYMLINK%

注意 %NPM_HOME% 一定要添加在 %NVM_SYMLINK%之前,所以就放在了最前面

5.检查 where npm

6.再次尝试 npm 全局安装 es-checker

  • 目标达成!可执行文件放入了 %NPM_HOME% ,模块文件放入了 %NPM_HOME%\node_modules\

安装 nrm 管理镜像源

1.全局安装 nrm

npm install nrm -g --registry https://registry.npm.taobao.org

2.查看镜像 nrm ls

3.切换镜像源 nrm use taobao

THE END

感谢

感谢以下几篇文章带来的思路和方法,排名不分先后

  1. Windows环境下nvm的安装及使用
  2. nvm安装与使用

*附录1:nvm 命令提示

  1. nvm arch :显示node是运行在32位还是64位。
  2. nvm install <version> [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
  3. nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
  4. nvm on :开启node.js版本管理。
  5. nvm off :关闭node.js版本管理。
  6. nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
  7. nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/ 。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  8. nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/ 。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  9. nvm uninstall <version> :卸载指定版本node。
  10. nvm use [version] [arch] :使用制定版本node。可指定32/64位。
  11. nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
  12. nvm version :显示nvm版本。version可简化为v。

Windows下Nodejs的开发环境搭建的更多相关文章

  1. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

  2. 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...

  3. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

  4. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

  5. Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时 ...

  6. Windows下Ionic Android开发环境搭建

    转自 http://www.itwap.net/ArticleContent.aspx?id=26 来源: itwap.net 作者: 词略 时间: 2015-4-2 16:57:28 (一)Ioni ...

  7. windows下大数据开发环境搭建(1)——Java环境搭建

    一.Java 8下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载之后 ...

  8. windows下大数据开发环境搭建(2)——Hadoop环境搭建

    一.所需环境 ·Java 8 二.Hadoop下载 http://hadoop.apache.org/releases.html 三.配置环境变量 HADOOP_HOME: C:\hadoop- Pa ...

  9. windows下大数据开发环境搭建(4)——Spark环境搭建

    一.所需环境 · Java 8 · Python 2.6+ · Scala · Hadoop 2.7+ 二.Spark下载与解压 http://spark.apache.org/downloads.h ...

随机推荐

  1. R 《回归分析与线性统计模型》page140,5.1

    rm(list = ls()) library(car) library(MASS) library(openxlsx) A = read.xlsx("data140.xlsx") ...

  2. 04.swoole学习笔记--webSocket服务器

    <?php //创建webSocket服务器 $serv=); //获取请求 //on //open 建立连接 $serv:服务器 $request:客户端信息 $serv->on('op ...

  3. 007、MySQL日期取当前时间,取昨天

    #取今天文本格式 SELECT DATE_SUB( curdate( ), INTERVAL DAY ); #取昨天文本格式 SELECT DATE_SUB( curdate( ), INTERVAL ...

  4. mysql使用的坑

    一: mysql默认是安装记录的物理顺序取数据的,如果不加order by 排序,可能得不到预期的结果. (1) 获取 两个时间点的 id  (很快) $sql = ‘select id from a ...

  5. Oracle delete 之后恢复数据

    当我们粗心大意直接delete from不加条件而又没有回滚的时候有一个很简单的方法能够将数据恢复到delete之前的状态 第一种方案已经帮助我解决了实际问题.第二种方案暂未实践 在此记录下以便日后查 ...

  6. 在xampp下安装thinkphp5

    在xampp2016下安装thinkphp5 (本人的坑,说白了就是把thinkphp5的文件放到htdocs下) 1.把该xampp中的php文件夹路径设置进环境变量,这样才能全局运行compose ...

  7. Phoenix5.0的部署

    官网下载编译好的二进制包 http://phoenix.apache.org/download.html2 上传并解压到指定目录, 再修改目录名称 tar -zxvf apache-phoenix-5 ...

  8. linux添加一个已经存在用户到一个用户组

    在使用virtual-box的共享文件时,在虚拟机中共享文件的用户为root,用户组为vboxsf, 所以需要将自己添加到vboxsf这组当中去,一开始使用useradd老是失败,后来才查到要用use ...

  9. 小程序开发顶部TAB栏和侧边分类点击

    先上一个效果图: 根据这个效果图我来说内容. 首先是顶部tab栏 效果实现依靠的是一个组件scroll-view.这个组件很有意思,可以多层嵌套,当然它的属性也很多. 这里主要用的是scroll-x, ...

  10. 用25行JavaScript语句实现一个简单的编译器

    原文:https://www.iteye.com/news/32680 译者注:即使对于专业程序员来说,构造一个编译器也是颇具挑战性的任务,本文将会引导你抽丝剥茧,一探究竟! 我已经写了几篇与编程语言 ...