nvm、nrm、npm 安装和使用详解(小结)


Posted in Javascript onJanuary 17, 2019

一、nvm的安装和使用

nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换。 nvm 的官方版本只支持 Linux 和 Mac。 Windows 用户,可以用 nvm-windows。详情请点击官方说明

1、卸载已安装到全局的 node/npm

如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm

安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:

#查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装
npm ls -g --depth=0 
#删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules 
#删除 node
sudo rm /usr/local/bin/node 
#删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm

2、 安装

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

lantern

下载 nvm 包 地址:nvm-windows下载,我们选择第一个: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%;

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

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

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

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

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

3、nvm常用命令

nvm install ## 安装指定版本,可模糊安装,如:安装v6.2.0,既可nvm install v6.2.0,又可nvm install 6.2
nvm uninstall ## 删除已安装的指定版本,语法与install类似
nvm use ## 切换使用指定的版本node
nvm ls ## 列出所有安装的版本
nvm ls-remote ## 列出所以远程服务器的版本(官方node version list)
nvm current ## 显示当前的版本
nvm alias ## 给不同的版本号添加别名
nvm unalias ## 删除已定义的别名
nvm reinstall-packages ## 在当前版本node环境下,重新全局安装指定版本号的npm包

二、npm的安装和使用

首先我们进入命令模式,输入 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就可以了。

三、nrm 的安装和使用

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

首先全局安装 nrm:

npm install -g nrm

安装完后就可以立即使用了,我们来列出可用的源:

nrm ls

会发现列出了下面几个源:

npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror  https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

当然这里我们选择国内淘宝的源:

nrm use taobao

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript—window对象使用示例
Dec 09 Javascript
windows8.1+iis8.5下安装node.js开发环境
Dec 12 Javascript
详解JavaScript基于面向对象之继承
Dec 13 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
Dec 20 Javascript
jQuery动态修改字体大小的方法【测试可用】
Sep 09 Javascript
AngularJS  ng-repeat遍历输出的用法
Jun 19 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
详解React中合并单元格的正确写法
Jan 08 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
JS实现简单打字测试
Jun 24 Javascript
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
Javascript webpack动态import
Apr 19 Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 #Javascript
如何能分清npm cnpm npx nvm
Jan 17 #Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 #Javascript
npm 常用命令详解(小结)
Jan 17 #Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 #Javascript
vuex页面刷新后数据丢失的方法
Jan 17 #Javascript
jquery获取img的src值实例介绍
Jan 16 #jQuery
You might like
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
php中mkdir函数用法实例分析
2014/11/15 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
总结对比php中的多种序列化
2016/08/28 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python时间日期操作方法实例小结
2020/02/06 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
拓展培训心得体会
2014/01/04 职场文书
大学新闻系自荐书
2014/05/31 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书