title: win10下使用nodejs安装

win10下使用nodejs安装及webstorm创建express项目的指导

windows下nvm的安装

熟悉linux下nodejs开发的朋友应该都知道nvm是一款node版本管理的工具,使用nvm我们可以安装任意多的nodejs版本,以及决定自己的何时使用某个版本。

但是nvm官方在github上托管的nvm仓库上明确的说明了nvm不支持windows系统,但是其给出了两个不是由他们参与开发的第三方的解决方案。这两个方案如下:

我自己使用的是nvm-windows,安装的过程很简单,首先是需要卸载自己已经安装过的nodejs和删除C:\Users<user>\AppData\Roaming\npmnpm安装的全局依赖。

注意

虽然nodejswindows安装程序提供了nodejs卸载的功能,但是通过其卸载程序卸载了nodejs之后,其安装文件夹下还会存在部分文件,因此在卸载之后,最好手动删除其安装目录。

nvm的安装比较简单,因此,在这里就不再放图了,有问题的话,可以参考nvm-windows官网

使用NVM安装nodejs

因为nvm只是一个nodejs的环境管理包,因此,我们在成功的安装了nvm之后,我们要手动安装我们需要的nodejs版本。

根据nvm-windows提供的常用的命令如下:

  • nvm arch [32|64]:该命令用来查看当前的nodejs是运行在32位/64位windows系统之上。也可以指定相应的位数来覆盖默认的设置。
# 查看当前的nodejs架构
$ nvm arch
System Default: 64-bit.
Currently Configured: 64-bit.

  • nvm install [arch]: 该命令用来安装指定版本和指定系统架构32/64)的nodejs环境。安装速度还是比较快的。在写本文前,我已经安装了nodejs 6.10.3 64的版本了,为了演示本命令的使用,我安装了32位的6.10.2版本的nodejs环境并成功的安装。
$ nvm install 6.10.2 32
Downloading node.js version 6.10.2 (32-bit)...
Complete
Creating C:\Users\Administrator\AppData\Roaming\nvm\temp Downloading npm version 3.10.10... Complete
Installing npm v3.10.10...
Installation complete. If you want to use this version, type
nvm use 6.10.2

注意

如果你第一次使用nvm install 版本号来安装nodejs,需要使用下面的nvm use来选择你的nodejs环境,use后才能使用npm等操作。

  • nvm list [available]:查看当前系统中安装了哪些版本的nodejs
$ nvm list
* 6.10.3 (Currently using 64-bit executable)
6.10.2

  • nvm use [arch]:该命令用来切换nodejs的版本。就像Anaconda可以配置多个python环境一样。
Administrator@neil-PC MINGW64 ~/WebstormProjects
$ nvm use 6.10.2 32
Now using node v6.10.2 (32-bit) $ nvm use 6.10.3
Now using node v6.10.3 (64-bit)

  • nvm uninstall : 这个命令是用来卸载指定版本的nodejs环境的。
$ nvm uninstall 6.10.2
Uninstalling node v6.10.2...Error removing node v6.10.2
Manually remove C:\Users\Administrator\AppData\Roaming\nvm\v6.10.2.

  • nvm root : 该命令可以用来设置和查看当前的nodejs的实际存放的位置。这里需要特别说明一下,因为nvm是用来管理多个nodejs的环境的,为了保证一致,nvm在我们使用nvm use来指定nodejs版本号时,就会在C:\Program Files下创建一个软连接来指定当前nodejs的实际版本的路径。而nvm root就是用来设定nodejs实际版本下载的存放路径。

Administrator@neil-PC MINGW64 /c/Program Files
$ ls -n | grep nodejs
lrwxrwxrwx 1 197108 197121 50 5月 21 17:27 nodejs -> /c/Users/Administrator/AppData/Roaming/nvm/v6.10.3/



我在自己电脑上使用的是默认的配置,可以看到我的nodejs实际的存放路径是:

$ nvm root
Current Root: C:\Users\Administrator\AppData\Roaming\nvm

Administrator@neil-PC MINGW64 ~/WebstormProjects
$ date #为了计算使用淘宝的镜像时安装nodejs需要的大概的时间
2017年05月21日 17:46:43
$ nvm install 6.10.1
Downloading node.js version 6.10.1 (64-bit)...
Complete
Creating C:\Users\Administrator\AppData\Roaming\nvm\temp
Downloading npm version 3.10.10... Complete
Installing npm v3.10.10...
Installation complete. If you want to use this version, type
nvm use 6.10.1
$ date #为了计算使用淘宝的镜像时安装nodejs需要的大概的时间
2017年05月21日 17:47:43

可以看到使用淘宝的nodejs镜像安装速度还是很可以的(一分钟不到就安装成功了)。

  • nvm npm_mirror <npm_mirror_url>: 设置npm的镜像地址。我想大家都知道cnpm是使用淘宝提供的国内的npm镜像的命令。具体的使用方法可以参考淘宝npm镜像官网。这里的nvm_windows可以使用nvm npm_mirror来直接修改npm的镜像地址。(不过这种方法最好不要用,还是使用cnpm的方式比较好,国内的镜像同步的速度还是有一点偏差的,如果喜欢折腾,那么可以在npm的官方镜像地址和淘宝的镜像地址之间进行切换。)
$ nvm npm_mirror https://npm.taobao.org/mirrors/npm/ #设置npm的镜像地址为淘宝的npm镜像地址

$ npm install -g jslint
C:\Program Files\nodejs\jslint -> C:\Program Files\nodejs\node_modules\jslint\bin\jslint.js
C:\Program Files\nodejs
`-- jslint@0.10.3
+-- exit@0.1.2
+-- glob@7.1.2
| +-- fs.realpath@1.0.0
| +-- inflight@1.0.6
| | `-- wrappy@1.0.2
| +-- inherits@2.0.3
| +-- minimatch@3.0.4
| | `-- brace-expansion@1.1.7
| | +-- balanced-match@0.4.2
| | `-- concat-map@0.0.1
| +-- once@1.4.0
| `-- path-is-absolute@1.0.1
+-- nopt@3.0.6
| `-- abbrev@1.1.0
`-- readable-stream@2.1.5
+-- buffer-shims@1.0.0
+-- core-util-is@1.0.2
+-- isarray@1.0.0
+-- process-nextick-args@1.0.7
+-- string_decoder@0.10.31
`-- util-deprecate@1.0.2

如果想切换回官方的npm镜像地址,可以使用nvm npm_mirror http://r.cnpmjs.org/切换回来。

Administrator@neil-PC MINGW64 ~/WebstormProjects
$ nvm npm_mirror http://r.cnpmjs.org/ Administrator@neil-PC MINGW64 ~/WebstormProjects
$ npm install -g create-react-app
C:\Program Files\nodejs\create-react-app -> C:\Program Files\nodejs\node_modules\create-react-app\index.js
C:\Program Files\nodejs
`-- create-react-app@1.3.1
+-- chalk@1.1.3
| +-- ansi-styles@2.2.1
| +-- escape-string-regexp@1.0.5
| +-- has-ansi@2.0.0
| | `-- ansi-regex@2.1.1
| +-- strip-ansi@3.0.1
| `-- supports-color@2.0.0
+-- commander@2.9.0
| `-- graceful-readlink@1.0.1
+-- cross-spawn@4.0.2
| +-- lru-cache@4.0.2
| | +-- pseudomap@1.0.2
| | `-- yallist@2.1.2
| `-- which@1.2.14
| `-- isexe@2.0.0
+-- fs-extra@1.0.0
| +-- graceful-fs@4.1.11
| +-- jsonfile@2.4.0
| `-- klaw@1.3.1
+-- hyperquest@2.1.2
| +-- buffer-from@0.1.1
| | `-- is-array-buffer-x@1.2.1
| | +-- has-to-string-tag-x@1.2.0
| | | `-- has-symbol-support-x@1.2.0
| | +-- is-object-like-x@1.2.0
| | | +-- is-function-x@1.2.0
| | | `-- is-primitive@2.0.0
| | `-- to-string-tag-x@1.2.0
| | +-- lodash.isnull@3.0.0
| | `-- validate.io-undefined@1.0.3
| +-- duplexer2@0.0.2
| | `-- readable-stream@1.1.14
| | +-- isarray@0.0.1
| | `-- string_decoder@0.10.31
| `-- through2@0.6.5
| +-- readable-stream@1.0.34
| `-- xtend@4.0.1
+-- semver@5.3.0
+-- tar-pack@3.4.0
| +-- debug@2.6.8
| | `-- ms@2.0.0
| +-- fstream@1.0.11
| | +-- inherits@2.0.3
| | `-- mkdirp@0.5.1
| | `-- minimist@0.0.8
| +-- fstream-ignore@1.0.5
| | `-- minimatch@3.0.4
| | `-- brace-expansion@1.1.7
| | +-- balanced-match@0.4.2
| | `-- concat-map@0.0.1
| +-- once@1.4.0
| | `-- wrappy@1.0.2
| +-- readable-stream@2.2.9
| | +-- buffer-shims@1.0.0
| | +-- core-util-is@1.0.2
| | +-- isarray@1.0.0
| | +-- process-nextick-args@1.0.7
| | +-- string_decoder@1.0.1
| | | `-- safe-buffer@5.0.1
| | `-- util-deprecate@1.0.2
| +-- rimraf@2.6.1
| | `-- glob@7.1.2
| | +-- fs.realpath@1.0.0
| | +-- inflight@1.0.6
| | `-- path-is-absolute@1.0.1
| +-- tar@2.2.1
| | `-- block-stream@0.0.9
| `-- uid-number@0.0.6
+-- tmp@0.0.31
| `-- os-tmpdir@1.0.2
`-- validate-npm-package-name@3.0.0
`-- builtins@1.0.3

使用webstorm来创建express应用

前面一章说过,nvm安装nodejs的方式是在nvm root指定的地址中存放实际的nodejs应用程序,只是在C:\Program Files下创建了一个软连接而已。而webstorm比较坑的就是,不会认出那是一个软连接,因此,我们需要用命令nvm root或者C:\Program Files\nodejs的属性来查看当前的nodejs的实际地址。

我当前的nodejs的实际地址是~/AppData/Roaming/nvm/v6.10.3/

下面创建步骤直接上图和对图进行说明,相似读者能够看明白。

在进行创建项目时,我们需要安装express-generator(我的电脑上已经安装过了)

$ npm install express-generator -g
C:\Program Files\nodejs\express -> C:\Program Files\nodejs\node_modules\express-generator\bin\express-cli.js
C:\Program Files\nodejs
`-- express-generator@4.15.0

从上图可以看出webstorm识别出了C:\Program Files\nodejs作为nodejs的路径,但是它给出一个提示Unspecified express-generator package version,这显然是不合理的。

而造成这种现象的原因就是C:\Program Files\nodejs是指一个软连接,因此C:\Program Files\nodejs下的npmpackage是不能被web-storm正确的识别出来的。因此,我们需要手动配置一下nodejs的实际路径。

选择~/AppData/Roaming/nvm/v6.10.3/node.exe作为nodejs拦截器之后,webstorm已经正确的识别出来我们当前安装的express-generator了。我们选择自己喜欢的html模板和CSS预编译方式之后,输入正确的工程名,就可以创建express项目了。

创建好的工程截图如下:

总结

本文介绍了windows系统下安装nvm nodejs版本管理包。并且配置了阿里巴巴的nodejs的镜像和npm镜像。并且,结合webstorm创建出了nodejs express项目,成功安装依赖并运行起来。

win10下使用nodejs安装及webstorm创建express项目的指导的更多相关文章

  1. 用WebStorm创建Express项目时出现:express version is unavailable

    那是因为在npm的配置文件中使用了代理: 方式一:查看配置:npm config list如果有:registry = "https://registry.npm.taobao.org/&q ...

  2. win10下Ubuntu18.04安装的简单教程

    win10下Ubuntu18.04安装的简单教程      操作系统:windows    软件:Vmware15.      一.下载 Ubuntu18.04镜像   Ubuntu18.04镜像下载 ...

  3. Win10下Tensorflow的安装

    Win10下Tensorflow的安装 1. Tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张 ...

  4. windows下的NodeJS安装

    1.登录官网 http://nodejs.org ,install 下载安装包.. 2.安装过程基本直接“NEXT”就可以了. 3.安装完成后可以使用cmd(win+r然后输入cmd进入)测试下是否安 ...

  5. win10 下使用虚拟机安装ubuntu及其网络配置

    通过虚拟机安装ubuntu 我的机器是64位的win10系统,使用的虚拟机VMware workstation 12 pro 安装的是ubuntu 14.04, 网上教程很多,很详细也有有效 win1 ...

  6. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

  7. win10 下的anaconda3 安装(2019.06.04最新)

    最近电脑重装系统后,安装anaconda 发现有一些新的变动,容易出现一些新的问题,现在记录下来.(现在根据清华镜像的最新公告,清华anaconda 已经恢复,可以直接换成清华镜像的源了) 1 安装 ...

  8. win10下用Anaconda安装TensorFlow | 后附JetBrains测试

    从意识上认识Anaconda(音标:[ˌænəˈkɑ:ndə])/(拼读:安娜康达). Anaconda:水蟒的意思,如图logo像不像水蟒.其最后五个字母是conda(包管理器),而Anaconda ...

  9. win10下通过Anaconda安装TensorFlow-GPU1.3版本,并配置pycharm运行Mnist手写识别程序

    折腾了一天半终于装好了win10下的TensorFlow-GPU版,在这里做个记录. 准备安装包: visual studio 2015: Anaconda3-4.2.0-Windows-x86_64 ...

随机推荐

  1. scss语法介绍

    这里既然是对语法的介绍,那么至于如何安装和编译scss我就不多少了,主要是因为本人在群里认识的小伙伴有的不会用scss,所以就借着放假的机会来对scss语法做个总结,博主在开发过程中用scss蛮多,所 ...

  2. 课堂博客-----TreeView+++++XML形成博客

    什么是XML? 解析:XML:Extensible Markup Language(可扩展标记语言) HTML:HyperLink Text  Markup Language(超文本标记语言) xml ...

  3. 基于51单片机IIC通信的PCF8591学习笔记

    引言 PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入.一个输出和一个串行I2C 总线接口.3 个地址引脚A0.A1 和A2 用于编程硬件地址,允许将最多8 个器件连接 ...

  4. 使用Java注解来简化你的代码

         注解(Annotation)就是一种标签,可以插入到源代码中,我们的编译器可以对他们进行逻辑判断,或者我们可以自己写一个工具方法来读取我们源代码中的注解信息,从而实现某种操作.需要申明一点, ...

  5. 深入tornado中的IOStream

    IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作.大体上可以这么说,当连接建立后,服务端与客户端的请求响应都是基于IOStream的,也就是说:IOSt ...

  6. openMP编程(上篇)之指令和锁

    openMP简介 openMP是一个编译器指令和库函数的集合,主要是为共享式存储计算机上的并行程序设计使用的. 当计算机升级到多核时,程序中创建的线程数量需要随CPU核数变化,如在CPU核数超过线程数 ...

  7. 使用Spring标签<form:textarea>时,用readonly=“readonly”属性时不起作用。

    最近的一个项目用到了Spring标签<form:textarea>,当在设置其只读属性时,使用readonly="readonly"不起作用,还是能修改内容. 在网上找 ...

  8. 复选框选中删除行(DOM练习)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  9. CF #CROC 2016 - Elimination Round D. Robot Rapping Results Report 二分+拓扑排序

    题目链接:http://codeforces.com/contest/655/problem/D 大意是给若干对偏序,问最少需要前多少对关系,可以确定所有的大小关系. 解法是二分答案,利用拓扑排序看是 ...

  10. HDU3518 后缀数组求不可重叠重复出现的不同子串个数

    枚举子串长度,根据height分组,如果本组sa最小值与sa最大值之差超过枚举的长度,则本组对于答案贡献为1. #include <iostream> #include <vecto ...