Windows下安装 node 的版本控制工具 nvm


Posted in Javascript onFebruary 06, 2020

NVM 是什么?

NVM——Node Version Manager(Node版本管理器),用它可以方便的在机器上安装并维护多个Node的版本。那么为什么需要多个版本呢?场景有很多,比方说:你可能同时进行两个项目,而不同项目所使用的node版本是不一样的;又或者你要用更新的版本是做一些实验。这种情况下,如果没有NVM自己去安装和维护多个版本的node也是一件比较麻烦的事情。这就是NVM的价值。

nodejs 是什么?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

windows 下安装 nvm

首先确保你的网络畅通,还有不被墙,如果需要翻墙,请看:

https://github.com/getlantern/lantern
下载 nvm 包 地址:https://github.com/coreybutle...,本文最新版本是1.1.4, 我们选择第一个:nvm-noinstall.zip 下载完成后解压到一个地方,比如: C:\dev\nvm 里面的文件列表是这样的:elevate.cmd、elevate.vbs、install.cmd、LICENSE、nvm.exe

备注:windows下要设置显示文件类型的扩展名,这样才能看到上述文件的后缀

双击 install.cmd 然后会让你输入”压缩文件解压或拷贝到的一个绝对路径” 先不用管它,直接回车,成功后,会在C盘的根目录生成一个settings.txt的文本文件,把这个文件剪切到C:\dev\nvm目录中,然后我们把它的内容修改成这样:

root: C:\dev\nvm 
path: C:\dev\nodejs 
arch: 64 
proxy: none 
node_mirror: http://npm.taobao.org/mirrors/node/ 
npm_mirror: https://npm.taobao.org/mirrors/npm/

然后我们开始配置环境变量了,因为刚刚点击了install.cmd的文件,那么会在环境变量的系统变量中,生成两个环境变量:NVM_HOME 和 NVM_SYMLINK 我们开始修改这两个变量名的变量值:NVM_HOME的变量值为:C:\dev\nvm; NVM_SYMLINK的变量值为:C:\dev\nodejs

我们还会发现,在Path中也会自动添加上C:\dev\nvm;或者是C:\dev\nodejs,如果有的话,把他们删掉,没有的话更好,我们自己来配置,在Path的最前面输入: ;%NVM_HOME%;%NVM_SYMLINK%;

打开一个cm 窗口输入命令:nvm v ,那么我们会看到当前nvm的版本信息。然后我们可以安装nodejs了。

通过 nvm 安装 nodejs

继续输入命令:nvm install latest 如果网络畅通,我们会看到正在下载的提示,下载完成后 会让你use那个最新的node版本。

用nvm install node版本号来安装node,如 nvm install 8.0.0

如果你是第一次下载,在use之前,C:\dev目录下是没有nodejs这个文件夹的,在输入比如: nvm use 6.7.0 之后,你会发现,C:\dev目录下多了一个nodejs文件夹,这个文件夹不是单纯的文件夹,它是一个快捷方式,指向了 C:\dev\nvm 里的 v6.7.0 文件夹。

同样的咱们可以下载其他版本的nodejs,这样通过命令:nvm use 版本号 比如:nvm use 6.7.0就可以轻松实现版本切换了。

备注: 如果你的电脑系统是32 位的,那么在下载nodejs版本的时候,一定要指明 32 如: nvm install 6.7.0 32 这样在32位的电脑系统中,才可以使用,默认是64位的。

npm的安装

首先 npm是什么?
npm有两层含义,第一是npm这个开源的模块登记和管理系统,也就是这个站点:https://www.npmjs.com。
第二个指的是 nodejs package manager 也就是nodejs的包管理工具。我们主要说的就是这一个。
在每个版本的nodejs中,都会自带npm,为了统一起见,我们安装一个全局的npm工具,这个操作很有必要,因为我们需要安装一些全局的其他包,不会因为切换node版本造成原来下载过的包不可用。
首先我们进入命令模式,输入 npm config set prefix "C:\dev\nvm\npm" 回车,这是在配置npm的全局安装路径,然后在用户文件夹下会生成一个.npmrc的文件,用记事本打开后可以看到如下内容:

prefix=C:\dev\nvm\npm

然后继续在命令中输入: npm install npm -g 回车后会发现正在下载npm包,在C:\dev\nvm\npm目录中可以看到下载中的文件,以后我们只要用npm安装包的时候加上 -g 就可以把包安装在我们刚刚配置的全局路径下了。

我们为这个npm配置环境变量: 变量名为:NPM_HOME,变量值为 :C:\dev\nvm\npm

在Path的最前面添加;%NPM_HOME%,注意了,这个一定要添加在 %NVM_SYMLINK%之前,所以我们直接把它放到Path的最前面

最后我们新打开一个命令窗口,输入npm -v,此时我们使用的就是我们统一下载的npm包了。

同样的我们还可以安装cnpm工具,它是中国版的npm镜像库,地址在这里:https://cnpmjs.org/,也是npm官方的一个拷贝,因为我们和外界有一堵墙隔着,所以用这个国内的比较快,淘宝也弄了一个和npm一样的镜像库,http://npm.taobao.org/,它和官方的npm每隔10分钟同步一次。安装方式:

npm install -g cnpm --registry=http://r.cnpmjs.org

或者用淘宝的

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

安装好了cnpm后,直接执行cnpm install 包名比如:cnpm install bower -g 就可以了。-g只是为了把包安装在全局路径下。如果不全局安装,也可以在当前目录中安装,不用-g就可以了。

mac 下安装 nvm

你可以直接看官网 nvm

要安装或更新nvm,可以使用cURL 使用安装脚本:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

或Wget:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

注意:如果nvm: command not found在运行安装脚本后得到以下内容之一,可能是以下原因: -

您的系统可能没有 `.bash_profile file,
只需在终端运行touch ~/.bash_profile,然后再次运行上边的命令,
然后可能需要重新启动终端,
如果上述不能解决问题,请打开.bash_profile并添加以下代码行:

source ~/.bashrc

然后运行命令,查看版本

nvm --version

剩下的安装和 windows系统下是一样的了

nrm 的安装

什么是nrm
nrm就是npm registry manager 也就是npm的镜像源管理工具,有时候国外资源太慢,那么我们可以用这个来切换镜像源。

安装nrm

我们只要通过这个命令: npm install -g nrm 就可以实现安装。
注意-g可以直接放到install的后面,我们以后也最好这样用,因为这样用,我们可以在cmd中上下箭头切换最近命令的时候,容易修改,更方便操作。安装完成后,我们就可以使用了。
命令:nrm ls 用于展示所有可切换的镜像地址

Javascript 相关文章推荐
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
Mar 06 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
jQuery prev ~ siblings选择器使用介绍
Aug 09 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
简单理解vue中Props属性
Oct 27 Javascript
JavaScript中boolean类型之三种情景实例代码
Nov 21 Javascript
深入解析js轮播插件核心代码的实现过程
Apr 14 Javascript
Vue页面骨架屏注入方法
May 13 Javascript
axios取消请求的实践记录分享
Sep 26 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
vue transition 在子组件中失效的解决
Nov 12 Javascript
Vue+Node实现的商城用户管理功能示例
Dec 23 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 #Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 #Javascript
node.js开发辅助工具nodemon安装与配置详解
Feb 06 #Javascript
Vue表单控件数据绑定方法详解
Feb 05 #Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
Feb 05 #Javascript
vue 翻页组件vue-flip-page效果
Feb 05 #Javascript
在博客园博文中添加自定义右键菜单的方法详解
Feb 05 #Javascript
You might like
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
php中this关键字用法分析
2016/12/07 PHP
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
python使用socket进行简单网络连接的方法
2015/04/29 Python
学习python类方法与对象方法
2016/03/15 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
python write无法写入文件的解决方法
2019/01/23 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
外贸业务员求职自荐信分享
2013/09/21 职场文书
工业自动化毕业生自荐信范文
2014/01/04 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
运动会邀请函范文
2014/01/31 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
招标授权委托书样本
2014/09/23 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
体育活动总结
2015/02/04 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书