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 cookie插件代码类
May 26 Javascript
javascript对象之内置对象Math使用方法
Apr 16 Javascript
jquery动态改变div宽度和高度
Feb 09 Javascript
ztree获取当前选中节点子节点id集合的方法
Feb 12 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
函数四种调用模式以及其中的this指向
Jan 16 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
jqueryUI tab标签页代码分享
Oct 09 jQuery
VuePress 快速踩坑小结
Feb 14 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
Apr 08 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
Apr 14 Javascript
在vue中使用回调函数,this调用无效的解决
Aug 11 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
PHP常用函数小技巧
2008/09/11 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
浅析Python中的序列化存储的方法
2015/04/28 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python