Node.js的环境安装配置(使用nvm方式)


Posted in Javascript onOctober 11, 2016

前言

神奇的node.js为我们JavaScript提供了在后端运行的环境,而它的包管理器npm(node package manage)现在也成为了全球最大的开源库生态系统.我们有很多很多的工具都是依赖于node环境进行使用的,所以我们使用node的第一步,就是配置node.js环境.

那么配置node.js环境,当然,我们可以直接从官网下载,然后安装到电脑上就行了,当然,这是正确的,但是如果有一天我们需要使用新版本的node.js,或者使用旧版本的node.js时,我们还是需要去官网下载,然后安装,因为node.js的官方对于node.js的版本更新较慢,以至于一些大神等得不耐烦了,便开始自己更新node.js(当然node.js是开源的),你这一更新,导致官方团队坐不住了,那最后的结果就是官方的是稳定版本,当有新功能会在这个版本较高的发布,所以这就是经常会看到

Node.js的环境安装配置(使用nvm方式)

如果你想长期做 node 开发, 或者想快速更新 node 版本, 或者想快速切换 node 版本,

那么在非 Windows(如 osx, linux) 环境下, 请使用 nvm 来安装你的 node 开发环境, 保持系统的干净.

如果你使用 Windows 做开发, 那么你可以使用 nvmw 来替代 nvm

使用nvm之前,我们先来看一下,我们使用终端打开应用程序的实例:我们使用终端开启一个软件是,必须要cd到这个程序当前所在的文件目录下,

Node.js的环境安装配置(使用nvm方式)

我们可以看到,当前的FlashFXP的链接存在于桌面的上,当我们在桌面中的node.js文件夹中去试图打开它是打不开的,因为我们终端在当前文件夹中找不到FlashFXP的启动程序,所以会报错,那么我们有没有办法去改变这一现象,可以在任何地方,任何文件中启动真个程序呢?当然是可以的,我们只需要配置一下环境变量就可以了,右键我的电脑->选择属性->高级系统设置->环境变量,到了环境变量这,就找对地方了

Node.js的环境安装配置(使用nvm方式)

环境变量是系统中一个特定的对象,当要求系统运行一个程序而且没有告诉系统这个程序的完整路径的时候,系统除了在当前的文件夹下边寻找之外,还会去环境变量中path中指定的路径去寻找,也就是说,如果你将一个文件夹的指定路径保存到了path中,那么每次在终端启动程序时,你根本就不必进去这个程序所在的文件夹也能启动它了,这里我们会看到有系统变量和用户变量,顾名思义,用户变量就是当前登录用户下配置的各种变量,当我们切换用户的时候,这部分的变量是可以变化的,那么这时候我们就需要将想要添加的文件夹添加到用户变量中就行了,

FLASH= "C:\Program Files (x86)\//将当前地址复制到一个变量中,
path = %FLASH%;//将这个变量赋值到path中,这时候在任何地方我们都可以打开这个程序了

安装nvm

好了,有了上边的铺垫之后,我们就可以来安装nvm了,我们可以使用git直接下载,当然也可以直接去网上下载 

Node.js的环境安装配置(使用nvm方式)

下载图标中的nvm就行,下载完成后解压,然后安装nvm,安装目录地址注意不要有中文,不然指不定会出现什么错误,我这里直接将它安装在了D:\dev下边,安装完成后一般会去自动给我们配置好系统变量,如果没有,我们需要手动去配置系统变量,原理及方法和我们一开始所讲的一样:

NVM_HOME :指向nvm安装目录
NVM_SYMLINK:nodejs安装目录
Path :变量值中增加 NVM_HOME 和 NVM_SYMLINK两个环境变量

这时我们可以在终端中测试一下:

$ nvm -v
Running version 1.1.0.
Usage:
 nvm arch : Show if node is running in 32 or 64 bit mode.
 nvm install <version> [arch] : The version can be a node.js version or "latest" for the latest stable version.
         Optionally specify whether to install the 32 or 64 bit version (defaults to system arch).
         Set [arch] to "all" to install 32 AND 64 bit versions.
 nvm list [available]   : List the node.js installations. Type "available" at the end to see what can be installed. Aliased as ls.
 nvm on      : Enable node.js version management.
 nvm off      : Disable node.js version management.
 nvm proxy [url]    : Set a proxy to use for downloads. Leave [url] blank to see the current proxy.
         Set [url] to "none" to remove the proxy.
 nvm uninstall <version>  : The version must be a specific version.
 nvm use [version] [arch]  : Switch to use the specified version. Optionally specify 32/64bit architecture.
         nvm use <arch> will continue using the selected version, but switch to 32/64 bit mode.
 nvm root [path]    : Set the directory where nvm should store different versions of node.js.
         If <path> is not set, the current root will be displayed.
 nvm version     : Displays the current running version of nvm for Windows. Aliased as v.
 //这时就表示nvm安装成功了

安装node.js

这时候我们就可以安装node了,在终端输入命令:nvm ls-remote,用来查看远端的node版本,当然,你可能看不到结果,此时,你就需要输入另一个命令:export NVM_NODEJS_ORG_MIRROR=http:nodejs.org/dist,然后再输入nvm ls -remote

这时候使用命令nvm install [node版本号]

等到进度条走完,输入命令 nvm list 来查看当前安装的node

Node.js的环境安装配置(使用nvm方式)

node.js版本切换

可以看到当前安装的有4.3.1版本,那么我么使用 nvm use 4.3.1就可以指定当前使用的node版本为4.3.1,4.3.2后边也会出现(当前使用的标志),当然,我们可以再去下载一个node版本,例如:

Node.js的环境安装配置(使用nvm方式)

等到进度条走完,这是我们就有了5.7.0和4.3.1两个版本了:这时我们可定是想要去在两个版本之间自如的去切换的,这是我们还需要配置一个文件,就是nvm 中的setting文件:

 Node.js的环境安装配置(使用nvm方式) 

打开文件进行配置

Node.js的环境安装配置(使用nvm方式)    

如上,根据自己的文件目录进行配置,root表示的是当前nvm中内容的地址,path则是需要写入环境变量中的地址path中,会在当天dev/ 文件下生成一个nodejs快捷方式,来作为指向当前使用的node版本的快捷方式

Node.js的环境安装配置(使用nvm方式)

如图所示

当我们配置好了之后,就可以进行node版本的切换了:

Node.js的环境安装配置(使用nvm方式)

这是我们会发现dev文件中生成了一个nodejs的快捷方式,点击这个快捷方式,就可以调转到当前使用版本的nodejs中,当然,安装好了nodejs之后,node还有一个npm(node package manage),这个工具,在新版本的node中已经集成了进来,所以我们可以直接使用了,通过npm我们不仅可以下载node的各种包,我们还可以下载各种在npm生态网上的包,例如jQuery,angularJS,bootstrap,等等很多包,还包括gulp,bower,grunt等等工具。

总结

以上就是这篇文章的内容内容,大家都学会了吗?希望这篇文章的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
JavaScript弹出窗口方法汇总
Aug 12 Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 Javascript
理解javascript中的严格模式
Feb 01 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
Feb 15 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
Jun 29 Javascript
js 定位到某个锚点的方法
Nov 19 Javascript
详解vue.js移动端导航navigationbar的封装
Jul 05 Javascript
Angular中使用better-scroll插件的方法
Mar 27 Javascript
基于D3.js实现时钟效果
Jul 17 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
vue axios请求成功却进入catch的原因分析
Sep 08 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
javascript 动态样式添加的简单实现
Oct 11 #Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
Oct 11 #Javascript
javascript 动态脚本添加的简单方法
Oct 11 #Javascript
js HTML5上传示例代码完整版
Oct 10 #Javascript
JavaScript  event对象整理及详细介绍
Oct 10 #Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 #Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 #Javascript
You might like
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
浅谈React高阶组件
2018/03/28 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
js实现微信聊天界面
2020/08/09 Javascript
Python 数据结构之队列的实现
2017/01/22 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
django页面跳转问题及注意事项
2019/07/18 Python
Python测试模块doctest使用解析
2019/08/10 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
python实现简单学生信息管理系统
2020/04/09 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
Python多分支if语句的使用
2020/09/03 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
后勤人员岗位职责
2013/12/17 职场文书
本科应届生自荐信
2014/06/29 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript