前端开发工作中经常负责多个项目(新项目、多年的老项目及团队合作项目),经常会遇到npm install安装依赖包或者启动本地服务时依赖报错的情况,大多数是因为NodeJS和npm与依赖之间版本的问题,此时需要卸载并安装对应版本的NodeJS和npm管理工具,使得开发工作极其不便。

nvm(NodeJS Version Management)完美解决困扰,nvm是nodejs版本管理工具,使用命令行方式安装切换不同版本的nodejs。

nodejs提供了一个n模块,可用于管理nodejs版本,但它不适用于windows系统,且只是作为nodejs的一个模块存在,而nvm是独立于nodejs和npm的一个工具。

下载安装nvm:

从github(https://github.com/coreybutler/nvm-windows/releases)上下载最新版本nvm安装包,推荐下载nvm-setup.zip,绿色免安装版nvm-noinstall.zip在使用时需要进行配置,比较麻烦不方便,所以不推荐。

安装之前最好先卸载本地的nodejs和npm及相关文件,在安装nvm时也会自动帮助我们清理。

运行nvm-setup.exe文件根据步骤选择nvm和nodejs的安装路径,推荐也最好放在根目录下(eg:D:\)且nvm和nodejs平级目录,注意路径中不能包含中文或空格,不然在nvm use命令会报乱码错误。

安装完成后运行cmd,输入nvm查看是否成功,安装成功会显示nvm版本。

查看系统环境变量

使用nvm安装管理nodejs:

重点:使用管理员身份运行cmd,不然在nvm use node_version时会报乱码错误。

如果遇到node不是内部或外部命令的错误,那是因为没执行nvm use命令,执行nvm use version命令后就可以正常使用node和npm了。

命令介绍:

nvm list available:可选参数available显示所有可下载版本,缺省时显示本地安装的所有版本及当前使用的node版本

nvm install 14.18.1:安装14.18.1版本的nodejs及对应的npm,会在nvm的安装目录下生成对应版本的nodejs文件夹,可选参数arch指定安装系统位数(32位/64位,默认根据系统位数)

nvm use 14.18.1:使用指定版本的nodejs和对应npm,如果不使用管理员身份运行cmd,此时此处会出现exit status 1: ......的乱码错误,可选参数arch指定安装系统位数(32位/64位,默认根据系统位数)

nvm uninstall 14.18.1:卸载对应版本的nodejs,nvm的安装目录中对应文件夹会去掉

nvm arch:显示node运行系统环境32位或64位

nvm on:开启nodejs版本管理

nvm off:关闭nodejs版本管理

nvm proxy [url]:设置下载代理,可选参数url,不加参数显示当前的代理,url为none则清除当前代理

nvm node_mirror [url]:设置node镜像,默认为https://nodejs.org/dist/,设置后可在nvm安装目录下settings.txt文件查看

nvm npm_mirror [url]:设置npm镜像,默认为https://github.com/npm/cli/archive/,同理设置后可在nvm安装目录下settings.txt文件查看

nvm root [path]:设置存储nodejs的目录,默认在nvm的安装目录下

nvm version:查看nvm版本

nvm安装与使用及乱码问题的更多相关文章

  1. nvm安装和配置详细教程

    nvm是nodejs的版本管理工具,为什么要用nvm,你能百度到这篇文章相比是遇到不得不用的原因了,我们知道nodejs官方更新的速度非常快,有时候业务需要需要用某某版本,如果用的是msi安装,虽然安 ...

  2. 【转载】Centos系统采用NVM安装Node.js环境

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...

  3. 使用nvm安装node,全局npm,cnpm

    1.nvm-windows下载 下载地址https://github.com/coreybutler/nvm-windows/releases,下载nvm-setup.zip 2.安装nvm 首先把n ...

  4. ubuntu 18.04 使用 nvm 安装 nodejs

    20190315 使用 nvm 安装 nodejs 1. 找到 nvm 官网帮助 https://github.com/creationix/nvm 我习惯于 terminal 操作,所以选择 git ...

  5. nvm安装与使用

    1.nvm是什么 nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具.通过它可以安装和切换不同版本的nodejs.下面列出下载.安装及使用方法. ...

  6. oracle 11g 安装及netca,dbca乱码之解决

    在中文Linux下安装Oracle 11g,运行runInstaller后默认会出现乱码,解决办法如下: 1.准备字体zysong.ttf,点击下载,解压下载到的fallback 2.使用归档管理器打 ...

  7. 在windows下用nvm 安装node

    nvm 可以帮助切换node版本 在此文中,会特意指明一些坑,防止再次踩坑.第一个坑就是,如果你已经单独安装了node,建议先卸载,再来看本文. 1. nvm 下载 nvm 的下载地址:https:/ ...

  8. windows下nvm安装node之后npm命令找不到问题解决办法

    主要关键解解决办法:===>>适用于所有东西的安装 安装有关环境配置类的软件及其他,一般情况下切记不要安装到c盘programfiles下,否则会出现各种问题的报错!!!切记! nvm安装 ...

  9. nvm安装node和npm,个人踩坑记录

    我采用nvm-setup安装windows版本的nvm nvm安装node出现的问题: 1.node成功了,npm没成功 解决:在nvm 安装了node之后,输入npm找不到该命令,当时安装报错如下: ...

随机推荐

  1. caioj 1031: [视频]递归1(全排列)【DFS】【全排列】

    题目大意:先给一个正整数 n( 1 < = n < = 10 ),输出1到n的所有全排列. 题解:这道题目我们可以用递归来实现,递归在图论中又称为"深度优先搜索"(De ...

  2. 申请百度翻译API

    申请百度翻译API 0x00 前期准备 百度账号 md5的相关知识 0x01 进入百度开放平台,登录你的百度账号 找到 产品服务 -> 通用翻译API 0x02 点击下面的立即使用按钮,注册成为 ...

  3. C++---使用类

    运算符重载 概念 运算符重载就是想法转换, 目的是简化函数调用的方式 重载就是赋予新的含义, 运算符重载也是, 即同一个运算符可以有不同的功能 C++本身已经对一些运算符进行了重载, 同时C++允许程 ...

  4. Ubuntu中hyperledger-fabric2.3.0环境搭建

    系统环境 hyperledger-fabric在Ubuntu安装过程,fabric版本为2.3.0 首先安装相关软件 1.安装docker 直接参考下面这篇文档安装好docker-ce即可 Ubunt ...

  5. 99-oracle-asmdevices.rules(udev方式创建asm磁盘)

    一.创建asm磁盘的几种方式 创建asm方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式. 3.2 raw方式(裸设备方式) 4 ...

  6. IsDebuggerPresent的反调试与反反调试

    一.调用系统的IsDebuggerPresent函数 (1)实现程序 最简单也是最基础的,Windows提供的API接口:IsDebuggerPresent(),这API实际上就是访问PEB的Bein ...

  7. [已解决] 含gorm、sqlite3包的go程序构建失败 C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1

    gorm官方文档教程实例,构建出现错误.C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit st ...

  8. JavaScript学习总结8-DOM

    今天学习了DOM的增删改查 innerText可以用来修改文本的内容,但是无法识别标签,要修改标签样式使用innerHTML 删除节点的步骤:先获取父节点,在通过父节点删除子节点 注意:删除节点是一个 ...

  9. Codeforces Round #700 (Div. 2) --- B(思维)

    传送门 有必要提醒自己一下, 先把题读利索了(手动捂脸) 题目 B. The Great Hero   The great hero guards the country where Homer li ...

  10. node.js - 包、express

    首先,要先在这里分享一下我的喜悦,从昨天开始其实一直都在喜悦当中的,我收到了我的第一份offer,这感觉不摆了,比第一桶金都还舒服,虽然我还没收到第一桶金哈哈,不过offer都得了应该也快了. 今天的 ...