首页 > 编程语言 >nvm管理node.js版本

nvm管理node.js版本

时间:2024-06-22 22:32:38浏览次数:14  
标签:node npm 版本 js https nvm

起因:自己在使用nodejs的时候经常遇到版本问题。每次手动重装更换版本觉得非常麻烦。之前在搭建静态博客的时候,遇到版本问题,生成出来博客静态页白屏。这个就是我部署在github上的静态博客:https://blog.xisoul.cnimage-20240620183410202

一、首先卸载Node.js

1.打开控制面板

锚点

2.卸载程序

image-20240620180852992

3.找到Node.js卸载

二、下载nvm

git操作版:使用指南 - NVM 中文文档 (gitcode.host)

github地址:Releases · coreybutler/nvm-windows (github.com)

国内用户可以使用加速地址下载:https://github.xisoul.cn/gh/https://github.com/coreybutler/nvm-windows/releases/download/1.1.12/nvm-setup.exe

想要搭建这个加速服务可以自行访问(照着文档来就行,难度不大):hunshcn/gh-proxy: github release、archive以及项目文件的加速项目

1.安装nvm

(记得记住安装路径,等会要用)一直下一步就行,当然你也可以自己修改安装存储路径。

一个存储路径是nvm的,一个nodejs的。注意看清楚

用法

nvm-windows 在管理 shell 中运行。您需要以管理员身份启动或命令提示符才能使用 nvm-windowspowershell

适用于 Windows 的 NVM 是一个命令行工具。只需在控制台中键入即可获取帮助。基本命令包括:nvm

  • nvm arch [32|64]:显示节点是在 32 位还是 64 位模式下运行。指定 32 或 64 以覆盖默认体系结构。
  • nvm debug:检查 NVM4W 进程中是否存在已知问题。
  • nvm current:显示活动版本。
  • nvm install <version> [arch]:版本可以是特定版本,“latest”表示最新的当前版本,“lts”表示最新的 LTS 版本。(可选)指定是安装 32 位还是 64 位版本(默认为 system arch)。将 [arch] 设置为“all”以安装 32 位和 64 位版本。添加到此命令的末尾以绕过远程下载服务器的 SSL 验证。--insecure
  • nvm list available:列出node.js安装。在末尾键入以显示可供下载的版本列表。available
  • nvm on:启用node.js版本管理。
  • nvm off:禁用node.js版本管理(不卸载任何内容)。
  • nvm proxy [url]:设置用于下载的代理。留空以查看当前代理。设置为“none”以删除代理。[url]``[url]
  • nvm uninstall <version>:卸载特定版本。
  • nvm use <version> [arch]:切换为使用指定版本。(可选)使用 、 或 。 是最新安装的版本。(可选)指定 32/64 位体系结构。 将继续使用所选版本,切换到 32/64 位模式。有关在特定目录中使用(或使用 )的信息,请参阅问题 #16latest``lts``newest``newest``nvm use <arch>``use``.nvmrc
  • nvm root <path>:设置 nvm 应存储不同版本node.js的目录。如果未设置,将显示当前根目录。<path>
  • nvm version:显示当前运行的 NVM for Windows 版本。
  • nvm node_mirror <node_mirror_url>:设置节点镜像。中国人可以使用 https://npmmirror.com/mirrors/node/
  • nvm npm_mirror <npm_mirror_url>:设置 npm 镜像。中国人可以使用 https://npmmirror.com/mirrors/npm/

2.检查安装是否成功

打开命令提示符。

image-20240620210321734

或者按下键盘windows+R键,会弹出运行窗口输入cmd然后回车就会打开这个黑框框,然后输入nvm version回车就会弹出对应的安装版本。这时候就安装成功了。

image-20240620181937741

3.配置

直接使用命令,复制粘贴执行就可OK。

nvm node_mirror https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/

如果已经跑了命令直接跳到过下面手动修改步骤。

打开安装路径找到settings.txt打开

不知道路径的可以使用

nvm root

image-20240620182757688

然后将下面的配置粘贴到下面,保存

npm_mirror: https://npmmirror.com/mirrors/npm/
npm_mirror: https://npmmirror.com/mirrors/npm/

image-20240620183138994

三、nvm安装node

输入nvm list available稍等几秒就加载出来了

image-20240620183955843

比如我现在错误丢到GPT里面,GPT告诉我答案是这样的。

那么我就安装Node.js version '>=16.17.0' npm:'7.21.1'

因为官网历史下载改版了,显示的版本不全。我们可以点击控制台下面链接Node.js — Node.js Releases (nodejs.org)去官网查看自己需要的版本。

image-20240620184601498

1. 安装

Node.js已自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西

nvm install 16.20.0(自己需要的版本)

image-20240620184906615

2.环境变量配置

首先要开启nvm版本管理nvm use 18.17.1(你要用的版本)

可以解决你环境变量更换版本之后不生效问题。

然后使用nvm on

3.进阶配置

手动配置

首先在你安装nodejs的地方新建两个空文件夹,路径在安装nvm的时候会有两次路径确认,自己可以找一下,或者去环境变量里面看一下路径。

node_globalnode_cache

建好以后开始配置环境:右键此电脑——属性——高级系统设置——高级——环境变量

nvm安装完成后就会有两个,没有的自己手动添加一下。

image-20240621084219224

在系统变量中新建

变量名:NODE_HOME

变量值:D:\Program Files\nodejs\node_global\node_modules(这个是你的自己nodejs安装路径)

在系统变量的【path】中添加

%NODE_HOME%

指令配置

指令配置cmd需要管理员模式(指令模式添加有风险,环境变量长度限制1024字符,如果你电脑安装了许多软件,可能导致Path过长,建议手动添加)

setx "NODE_HOME" "D:\Program Files\nodejs\node_global\node_modules" /m
setx Path "%path%;NODE_HOME%" /m

如果你的环境变量提示超字符了,使用拓展大法,可以参考这篇文章:解决windows下环境变量太大的问题(终极!!可用)_环境变量 缩起来-CSDN博客

完善node.js配置(直接nodejs软件安装的系统会默认将模块和缓存放在C盘,想要存在目标盘中,可先创建node_globalnode_cache文档)

当然你要是做开发,需要使用不同版本的,或者电脑中有hexo博客之类的,建议不要修改。

这样无论切换什么版本,模块在哪里。我们只需要通过指令,简单配置一下环境变量,避免长时间拉取下载。

npm config set prefix "D:\Program Files\nodejs\node_global"
npm config set cache "D:\Program Files\nodejs\node_cache"

取消全局

npm config delete prefix
npm config delete cache

4.npm换源

你有梯子可以不用看这里。

来源:npmmirror 镜像站

使用说明

你可以使用我们定制的cnpm命令行工具代替默认的 npm。
cnpm 支持除了写相关操作外的所有命令,例如 install、info、view 等。

npm install -g cnpm --registry=https://registry.npmmirror.com

或者你直接通过添加 npm 参数 alias 一个新命令:

alias cnpm="npm --registry=https://registry.npmmirror.com \ --cache=$HOME/.npm/.cache/cnpm \ --disturl=https://npmmirror.com/mirrors/node \ --userconfig=$HOME/.cnpmrc"

当然,你也可以使用任意你心仪的命令行工具,只要配置 registry 即可

npm config set registry https://registry.npmmirror.com

使用淘宝源

这是阿里更新后的,很可能报错

npm install -g cnpm --registry=https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org

安装模块

cnpm install [name]

同步模块

cnpm sync cnpmcore

当然, 你可以直接通过 web 方式来同步, 界面打开时会自动比对版本信息

open https://npmmirror.com/sync/cnpmcore

四、卸载nvm

1、卸载软件

方法同第一步卸载node.js。

也可直接使用电脑卸载软件推荐,解决卸载不干净问题 | XiSoul Blog's卸载,后续步骤可以忽略。

2.删除环境变量

环境变量打开方法:Win10设置环境变量的5种方式,在哪打开? 如何打开?_环境变量在哪打开-CSDN博客

image-20240620190125720

image-20240620190211496

五、node切换成功实际不生效解决方法

image-20240621093459939

直接删除16.20.0

nvm uninstall 16.20.0

然后nvm use 和nvm on切换一下

标签:node,npm,版本,js,https,nvm
From: https://www.cnblogs.com/xisoul/p/18262810

相关文章

  • FastJson使用详解
    FastJson文章目录第一章FastJson使用详解这一篇就够了第二章FastJsonHttpMessageConverter类的作用与使用详解第三章Jackson使用详解文章目录FastJson文章目录前言一、FastJson是什么?二、使用步骤1.引入库2.序列化和反序列化Java对象3解析JSON字符串4使用注解......
  • 常用JS特性浏览器支持版本查询
    此文仅供自己快速查询常用的特性。红色表示不支持。FeatureiOSAndroidChromeFirefoxES6Class10.34.4.44946箭头函数104.4.44522let10(for循环scope错误),114.4.441(strict模式),4944const10(scope错误),114.4.4(非严格模式)41(非严格没块域)......
  • 二、浅谈 JSON 处理技巧
    1.JSON:一种轻量级的数据交换格式,一般接口返回的数据类型都是JSON。JSON的定义格式与字典相同,也是键值对方式,如{key:value}。其实JSON是字符串,由于字符串不能用key、value来取值,所以要先转换为字典才可以。 2.JSON模块常用的四个方法:(1)json.dumps():将Python任意对象......
  • 313.带购物车功能的服装商城网页 大学生期末大作业 Web前端网页制作 html5+css+js
    目录一、网页概述二、网页文件 三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐欢迎光临仙女的网页世界!这里有Web前端网页制作的各行各业的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这......
  • 【JavaScript脚本宇宙】革新前端样式:CSS-in-JS库大比拼与最佳实践
    解锁响应式设计的潜力:使用CSS-in-JS库构建动态样式前言随着前端技术的发展,CSS-in-JS(CSSinJavaScript)逐渐得到开发者的青睐。它通过将CSS样式定义在JavaScript中,利用JavaScript的强大特性,实现了更灵活、动态的样式管理方式。本文将介绍几个流行的CSS-in-JS库,包括styled-c......
  • 基于JSP的交通事故档案管理系统
    开头语:你好,我是计算机学长猫哥,如果你对系统有更多的期待或建议,欢迎随时联系我。开发语言:Java数据库:MySQL技术:JSP+Java工具:ECLIPSE、Tomcat系统展示首页管理员界面用户注册界面事故信息管理摘要随着科技的不断进步,交通事故档案管理系统的开发变得尤为重要。......
  • 基于JSP技术的家用电器销售网站
    开头语:你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。开发语言:Java数据库:MySQL技术:JSP+Java工具:ECLIPSE、MySQL数据库管理工具、Tomcat系统展示首页用户个人中心订单评价管理商品信息管理摘要家用电器销售网站的开发是为了适应信息化......
  • drogon orm分页问题,req->getJsonObject()为空会导致Segmentation fault
    2024年6月22日17:14:12req->getJsonObject()获取json数据的时候,如果没有提前判断if(req->getJsonObject()==nullptr){throwstd::invalid_argument("参数json不能为空");}autojsonPtr=req->getJsonObject();官方文档:h......
  • fastjson
    fastjson一、fastjson简介fastjson是java的一个库,可以将java对象转化为json格式的字符串,也可以将json格式的字符串转化为java对象提供了toJSONString()和parseObject()方法来将Java对象与JSON相互转换。调用toJSONString方法即可将对象转换成JSON字符串,parseObject......
  • 什么是json?json可以存放在哪几种数据类型?在什么时候用?
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。它使得人们可以很容易地阅读和写入数据,同时也使得机器可以解析和生成数据。JSON可以存放以下几种数据类型:1.字......