前端开发工作中经常负责多个项目(新项目、多年的老项目及团队合作项目),经常会遇到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. jdbc连接数据库以及简单实现(普通JDBC方法实现和连接池方式实现)

    @ 目录 总结内容 1. 基本概念 jdbc的概念 2. 数据库连接 数据库的连接 DAO层思想 重构设计 3. 事务 概念 事务的ACID属性 事务的操作 4. 连接池 为什么要使用连接池 连接池分 ...

  2. JavaScript一些重要知识点结合题目的表现!

    function Foo() { //① 声明一个Foo的函数 getName = function () { alert (1); }; return this; } Foo.getName = f ...

  3. victoriaMetrics库之布隆过滤器

    victoriaMetrics库之布隆过滤器 代码路径:/lib/bloomfilter 概述 victoriaMetrics的vmstorage组件会接收上游传递过来的指标,在现实场景中,指标或瞬时 ...

  4. 实现深拷贝还在用JSON.parse(JSON.stringify(obj))?带你用JS实现一个完整版深拷贝函数

    使用JavaScript实现深拷贝 1.JSON序列化实现深拷贝 在JS中,想要对某一个对象(引用类型)进行一次简单的深拷贝,可以使用JSON提供给我们的两个方法. JSON.stringfy():可 ...

  5. 一键智能Mock,你值得拥有

    ​ 大家好呀,我是一名苦逼的前端开发工程师,为啥苦逼呢,这不,项目下周就要上线了,但是后端还没给我接口,没有接口我就无法调试,工作停滞不前,我也只能坐着干着急. 我报告给了我的老板山哥: 老板,这后端 ...

  6. 听说Integer有bug?1000不等于1000?

    bug? 前几天有位朋友找我,说:"老哥,老哥,我好像发现了Integer一个bug,你帮我看看什么情况?",说完给了我两个很简单的demo,上代码. 100 == 100 100 ...

  7. Envoy熔断限流实践(一)基于Rainbond插件实现熔断

    Envoy 可以作为 Sevice Mesh 微服务框架中的代理实现方案,Rainbond 内置的微服务框架同样基于 Envoy 实现.本文所描述的熔断实践基于 Rainbond 特有的插件机制实现. ...

  8. XSS攻击&CSRF攻击 ----Django解决方案

    XSS攻击: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执 ...

  9. Pytorch Linear ()简单推导

    pytorch,nn.Linear 下图中的A是权重矩阵,b是偏置. in_features输入样本的张量大小 out_features输出样本的张量大小 bias是偏置 # 测试代码 # batch ...

  10. 代码源 每日一题 分割 洛谷 P6033合并果子

    ​ 题目链接:切割 - 题目 - Daimayuan Online Judge 数据加强版链接: [NOIP2004 提高组] 合并果子 加强版 - 洛谷 题目描述 有一个长度为 ∑ai 的木板,需要 ...