nvm,node版本控制工具的使用

文章介绍了nvm作为Node.js版本控制工具的作用,解释了为何需要nvm来管理不同项目的node.js版本,特别是在遇到版本不兼容问题时。通过示例展示了在尝试运行一个vue项目时遇到的错误,说明了nvm的安装和使用步骤,包括下载、安装和切换node.js版本,最终成功运行项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

我们在实际的vue项目开发中,经常会遇见一些vue版本和node.js版本不太匹配的问题,这就导致我们无法去创建一个vue项目,因此我们需要一个方法来更好的管理node.js的版本,让我们集中精力来专注于代码的写作开发:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、nvm是什么?

nvm是一个node.js的版本控制工具为,了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。。

二、为什么我们要学会使用nvm版本控制工具

我们在日常开发过程中可能会使用不同的node.js的版本和不同的vue版本,这就会导致我们在运行的工程中产生node.js和vue版本不兼容的问题

例如我在这里使用vue5.0.8和node.js18.16.1运行一个vue项目

C:\Users\lenovo\Desktop\练习\router-demo1>npm run serve

> router-demo1@0.1.0 serve
> vue-cli-service serve

Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
 INFO  Starting development server...
10% building 0/1 modules 1 active ...enovo\Desktop\练习\router-demo1\node_modules\webpack\hot\dev-server.js ./src/main.j10% building 2/2 modules 0 activeError: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
10% building 2/3 modules 1 active ...ules\babel-loader\lib\index.js!C:\Users\lenovo\Desktop\练习\router-demo1\src\main.j10% building 2/5 modules 3 active ...\webpack-dev-server\client\index.js?http://192.168.1.30:8080&sockPath=/sockjs-nodeC:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:114
                        throw e;
                        ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:186:6
    at context.callback (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\cache-loader\dist\index.js:240:7
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\neo-async\async.js:2830:7
    at done (C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\neo-async\async.js:2865:11)
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\neo-async\async.js:2818:7
    at C:\Users\lenovo\Desktop\练习\router-demo1\node_modules\cache-loader\dist\index.js:229:9 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.16.1

它这里就报错说node版本和当前vue项目不兼容,解决这个报错的方法有两个,

1.去卸载node下载一个和当前vue项目兼容的node版本重新安装

2.使用node.js的版本控制工具nvm

二、使用步骤

1.下载

下载链接

1.nvm官网:nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm中文网 (uihtm.com)

2.下载链接:nvm 1.1.10-setup.zip

2.安装

1.下载完成后解压运行nvm-setup.exe

2.选择nvm安装路径

3.选择node.js的路径

4.确认安装即可

5.安装完成之后进行验证

  • nvm arch:显示node是运行在32位还是64位。
  • nvm install <version> [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
  • nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
  • nvm on :开启node.js版本管理。
  • nvm off :关闭node.js版本管理。
  • nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
  • nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  • nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  • nvm uninstall <version> :卸载指定版本node。
  • nvm use [version] [arch] :使用制定版本node。可指定32/64位。
  • nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
  • nvm version :显示nvm版本。version可简化为v。

 6.安装node.js版本

nvm list available
//可以显示部分可用的node版本

nvm install 16.15.0
//下载合适的node版本

nvm list
//或nvm ls查看已安装版本

7.使用已安装的和本vue项目合适的node.js版本

 8.再次运行项目

npm run serve

项目成功运行 

总结

这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了nvm作业,nvm的一些常用命令,如何去使用nvm切换node版本。

nvm是一个用于管理Node.js版本的版本控制工具。它允许您在同一台计算机上同时安装和切换不同的Node.js版本。您可以使用nvm来轻松地切换不同的Node.js版本,以适应项目的要求或进行测试。 要使用nvm,请按照以下步骤操作: 1. 首先,您需要在您的计算机上安装nvm。您可以在nvm的GitHub页面上找到相应的安装指南,根据您的操作系统进行安装:https://github.com/nvm-sh/nvm 2. 安装完成后,您可以打开一个新的终端窗口,并输入以下命令来检查nvm是否已正确安装: ``` nvm --version ``` 如果显示了nvm的版本号,则说明安装成功。 3. 接下来,您可以使用以下命令来安装特定版本的Node.js: ``` nvm install <node_version> ``` 其中,`<node_version>`是您想要安装的具体版本号,例如`12.18.1`。安装完成后,您可以使用以下命令来验证已安装的Node.js版本: ``` node --version ``` 4. 如果您想在不同的项目中使用不同的Node.js版本,可以使用以下命令切换版本: ``` nvm use <node_version> ``` 其中,`<node_version>`是您想要切换到的版本号。 除了上述命令之外,nvm还提供了其他一些有用的命令和功能,例如列出可用版本、设置默认版本等。您可以使用以下命令来获取更多帮助: ``` nvm --help ``` 请注意,nvm只适用于类Unix系统,如Linux和macOS。在Windows系统上,您可以考虑使用nvm-windows作为替代方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值