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 相关文章推荐
40款非常棒的jQuery 插件和制作教程(系列二)
Nov 02 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
jQuery中parent()方法用法实例
Jan 07 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
node.js cookie-parser 中间件介绍
Jun 06 Javascript
React-intl 实现多语言的示例代码
Nov 03 Javascript
详解Puppeteer 入门教程
May 09 Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 Javascript
layer扩展打开/关闭动画的方法
Sep 23 Javascript
JS中一些高效的魔法运算符总结
May 06 Javascript
webpack介绍使用配置教程详解webpack介绍和使用
Jun 25 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仿ZOL分页类代码
2008/10/02 PHP
php密码生成类实例
2014/09/24 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
python计算auc指标实例
2017/07/13 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
pygame实现简易飞机大战
2018/09/11 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
python文件排序的方法总结
2020/09/13 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
explicit和implicit的含义
2012/11/15 面试题
《山谷中的谜底》教学反思
2014/04/26 职场文书
委托书的格式
2014/08/01 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
2015年妇女工作总结
2015/05/14 职场文书
特种设备安全管理制度
2015/08/06 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
如何在python中实现ECDSA你知道吗
2021/11/23 Python