window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

    • 一、卸载node
    • 二、安装nvm
    • 三、配置路径和下载源
    • 四、使用nvm安装node
    • 五、nvm常用命令
    • 六、卸载nvm
    • 七、全局安装npm、cnpm
    • 八、遇到的问题

nvm 全名 node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。

一、卸载node

如果你已经安装了node,那么你需要先卸载node,如果你没有安装那直接跳过这一步到下一步。

打开控制面板 -> 打开程序和功能 -> 右上角搜索输入node -> 右键卸载

为了确保彻底删除node在看看你的node安装目录中还有没有node文件夹,有的话一起删除。再看看C:\Users\用户名 文件夹下有没有.npmrc以及.yarnrc等等统统删除。再去看看你的环境变量有没有node相关的,有的话也一起删除了。

二、安装nvm

去github 下载最新的 nvm 找到 nvm-setup.zip 点击下载

在这里插入图片描述
选择nvm安装路径。

在这里插入图片描述
选择nodejs的安装路径。

在这里插入图片描述

点击next,安装完成后在终端输入nvm version,能查到版本号说明安装成功了。
在这里插入图片描述

三、配置路径和下载源

安装完nvm后先不要着急安装node

找到nvm安装路径 -> 找到 settings.txt 文件 -> 配置下载源

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

在这里插入图片描述

四、使用nvm安装node

在终端输入 nvm list available, 查看网络可以安装的版本。

在这里插入图片描述
选择一个版本安装,比如 nvm install 14.14.0
在这里插入图片描述

使用这个版本的node,nvm use 14.14.0。输入node -vnpm -v可以查询到node和npm的版本号。

输入nvm list 查看已经安装的node,*号表示当前使用的node版本。
在这里插入图片描述

五、nvm常用命令

命令说明
nvm list查看已经安装的版本
nvm list installed查看已经安装的版本
nvm list available查看网络可以安装的版本
nvm arch查看当前系统的位数和当前nodejs的位数
nvm install [arch]安装制定版本的node 并且可以指定平台 version 版本号 arch 平台
nvm on打开nodejs版本控制
nvm off关闭nodejs版本控制
nvm proxy [url]查看和设置代理
nvm node_mirror [url]设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/
nvm npm_mirror [url]设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是:https://github.com/npm/npm/archive/.
nvm uninstall卸载指定的版本
nvm use [version] [arch]切换指定的node版本和位数
nvm root [path]设置和查看root路径
nvm version查看当前的版本

六、卸载nvm

  1. 可以通过下面方式卸载或找到nvm安装路径,直接将文件删掉。
    在这里插入图片描述
  2. 卸载完后记得删除nvm环境变量配置(环境变量是在安装时候自动生成的)
    此电脑 -> 右键属性 -> 高级系统设置 -> 环境变量 -> 找到nvm相关的 -> 删除
    在这里插入图片描述
    在这里插入图片描述
    统统删除,OK。

七、全局安装npm、cnpm

安装node的时候,npm其实也已经一起安装了。因为nvm可以管理多个版本的node,如果每次添加一个node版本都要安装一堆的包很麻烦,如果有一个npm可以让各个版本的node共用,就不会这么麻烦了。

简单的三步就可以配置一个全局的npm。

  1. npm config set prefix "E:\nvm\npm" //配置用npm下载包时全局安装的包路径。

  2. npm install npm -g --registry=https://registry.npm.taobao.org //安装全局npm,不同的node都使用这个npm。想更新全局的npm的话首先删除全局路径(就是上一行命令的地址,可以使用npm config ls查看)下的npm,再执行一次这个命令即可。

  3. 在用户变量中添加 NPM_HOME = E:\nvm\npm,path中添加%NPM_HOME%。这里需要注意的是,%NPM_HOME%要添加在%NVM_SYMLINK%之前,避免npm访问到的是nodejs中自带的npm包管理工具。

使用淘宝镜像cnpm。

1 .npm install -g cnpm --registry=https://registry.npm.taobao.org //使用淘宝镜像cnmp替代npm

2 .cnpm config get registry //验证cnpm是否可用

八、遇到的问题

  1. 在安装nvm的时候没有卸载node,导致使用nvm安装完之后,node和npm都不可用。

  2. 在第一次使用nvm安装node后,要记得使用 nvm use 切换下node版本,以及用 nvm on 打开nodejs版本控制,不然这时候node和npm也都不可用。

  3. 全局安装完npm的时候,需要关掉终端窗口重新打开,才能装得上cnpm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vivado中的五种仿真模式比较

Vivado中的五种仿真模式 在数字电路设计过程中,通常涵盖三个主要阶段:源代码编写、综合处理以及电路的实现,相应地,电路仿真的应用也与这些阶段紧密相关。根据不同设计阶段的需求,仿真可以被划分为RTL行为级仿真、综合…

练习4-权重衰减(李沐函数简要解析)

环境:练习1的环境 代码详解 0.导入库 import torch from torch import nn from d2l import torch as d2l1.初始化数据 这里初始化出train_iter test_iter 可以查一下之前的获取Fashion数据集后的数据格式与此对应 n_train, n_test, num_inputs, batch_size 20, 100, 200, …

Redis的安全配置有哪些建议?如何防止未授权访问?Redis的监控与告警策略是怎样的?如何及时发现并解决潜在问题?

Redis的安全配置有哪些建议?如何防止未授权访问? Redis的安全配置对于保护系统免受未授权访问和其他潜在风险至关重要。以下是一些建议的安全配置措施: 设置密码并禁用不安全的命令: 为Redis实例设置一个强密码,确保密…

鸿蒙原生应用开发-ArkTS语言基础类库多线程CPU密集型任务TaskPool

CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率&#xf…

三款.NET代码混淆工具比较分析:ConfuserEx、Obfuscar和Ipa Guard

随着.NET应用程序的广泛应用,保护知识产权和防止逆向工程的需求逐渐增长。本文将详细介绍三款知名的.NET代码混淆工具:ConfuserEx、Obfuscar和Ipa Guard,帮助读者全面了解其功能特点和应用场景。 一、ConfuserEx ConfuserEx是一个.NET代码混…

文件太大无法拷贝到u盘怎么办?可能是这个隐藏原因~

有时候我们新买的U盘,明明有64G的存储空间,怎么一个4.5G的视频想保存到U盘里会提示“文件太大”无法保存呢? 常见的U盘格式有FAT、FAT32、NTFS等,其中FAT32不支持存储单个文件体积大于4G的文件。下面教大家如何对U盘格式进行检测呢…

二开飞机机器人群发,实现自动给多个频道发送消息

频道1 频道2 二开代码部分: const CChatIdListprocess.env.CHANNEL_CHAT_ID_LIST; var channelChatIdArray CChatIdList.split(,);channelChatIdArray.forEach(function(item) {console.log(item); // 这里可以替换为您需要对数组中每个值进行的操作bot.sendM…

个人开发App成功上架手机应用市场的关键步骤

目录 1. 苹果审核和APP备案 2. APP上架操作步骤 3. 审核和发布 4. 上线工作 总结 参考资料 在当前移动应用市场竞争激烈的背景下,个人开发App如何成功上架成为开发者们必须面对的重要任务。本文将重点介绍自建App上架至手机应用市场的流程,包括苹果…

HDOJ 2078

复习时间 Problem Description 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑。xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的平方,而复习第…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

【自动化】C#下”半双工通信“读写问题说明与实例

半双工通信是一种单向通信方式,它允许数据在单一方向上传输,但不像全双工通信那样同时支持两个方向上的数据传输。在C#中,通过SerialPort类可以实现半双工通信。以下将详细说明半双工通信的读写问题,并提供一个实例。 半双工通信…

visual studio编译时,报错error MSB6006:“mt.exe”已退出,代码为31,原因及解决方案

错误 MSB6006 表示在 Visual Studio 的编译过程中,mt.exe(Microsoft Manifest Tool)执行失败,并返回了退出代码 31。mt.exe 主要用于处理 Windows 应用程序的清单文件(manifest files),这些文件…

python接口自动化正则表达式

在python接口自动化框架里面经常会用到正则表达式,主要是以下两种情况: 1,用python写一个正则表达式,实现对token数据的获取,只获取返回的cookie数据里面的accesstoken。如果对返回的cookie数据中的accesstoken进行获…

学完Python的7大就业方向,哪个赚钱最多?

“ 我想学Python,但是学完Python后都能干啥 ?” “ 现在学Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少Python的初学者,都会遇到上面的这些问题。大家都知道Python很吃香,薪资…

DNS劫持怎么预防?

DNS劫持,也称为域名劫持,是一种网络攻击手段,攻击者通过拦截域名解析的请求,将用户重定向到恶意站点,以达到获取用户信息或谋取非法利益的目的。DNS劫持可以分为以下几种基本类型: 1.路由器DNS劫持&#x…

进程管理与计划任务管理

进程管理 1、查看进程 静态 ps -auxps -elf 动态 top pgrep 查看特定条件的进程 pgrep -l “log” pgrep -l "ssh"pgrep -l -U redhat pstree 查看进程树 pstree -aup 所有用户、进程id\详细信息pstree -ap redhat 查看redhat用户的进程 任务调…

如何实现在固定位置的鼠标连点

鼠大侠的鼠标连点功能是免费的 浏览器搜索下载鼠大侠,指定连点间隔和启动快捷键 点击设置,指定点击位置

MySQL数据库中的锁机制(通俗易懂)

总结 MySQL数据库中的锁机制主要用于管理并发操作,以确保数据的一致性和完整性。MySQL支持多种类型的锁,按粒度和使用场景主要分为以下几类: 全局锁: 全局锁(如FLUSH TABLES WITH READ LOCK)可以锁定整个数…

常见物联网模型优缺点简介

物联网模型多种多样,每种模型都有其独特的优点和局限性。以下是一些常见的物联网模型及其优缺点概述: 集中式模型: 优点: 数据管理和处理集中化,便于统一监控和维护。安全性较高,数据在中心节点进行统一加…