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移动div层-javascript 拖动层
Mar 22 Javascript
JsDom 编程小结
Aug 09 Javascript
jquery制作LED 时钟特效
Feb 01 Javascript
jQuery实现的向下图文信息滚动效果
May 03 Javascript
jquery分割字符串的方法
Jun 24 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
JavaScript事件学习小结(三)js事件对象
Jun 09 Javascript
Javascript中字符串相关常用的使用方法总结
Mar 13 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
详解vue express启动数据服务
Jul 05 Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 Javascript
vue 中几种传值方法(3种)
Nov 12 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
PHP异步调用socket实现代码
2012/01/12 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Python迭代和迭代器详解
2016/11/10 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
运动会口号16字
2014/06/07 职场文书
食堂标语大全
2014/06/11 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
职位证明模板
2015/06/23 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书