专业的编程技术博客社区

网站首页 > 博客文章 正文

node: --openssl-legacy-provider is not allowed in NODE_OPTIONS问题

baijin 2024-09-23 03:48:11 博客文章 4 ℃ 0 评论

问题描述

  • 执行 npm run dev 命令, 错误信息如下:
node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
npm ERR! code ELIFECYCLE
npm ERR! errno 9
npm ERR! developTool3@0.1.0 dev: `set NODE_OPTIONS="--openssl-legacy-provider" & ..\..\..\..\..\..\..\..\node_modules\.bin\vue-cli-
service build --mode development`
npm ERR! Exit status 9
npm ERR!
npm ERR! Failed at the developTool3@0.1.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2023-12-21T07_17_49_169Z-debug.log
  • 相关截图

问题分析

  • 执行 set NODE_OPTIONS=--openssl-legacy-provider 命令是为了设置NODE_OPTIONS环境变量,将openssl设置为旧版提供程序;
  • 解决Node.js与OpenSSL 3.0不兼容问题

问题解决

  • 不执行 set NODE_OPTIONS=--openssl-legacy-provider\ 命令,如下图


Node 版本管理——NVM

一、概述

nvm(Node Version Manager)是Node.js的版本管理器,可以让我们轻松地在不同的Node.js版本之间进行切换。

官网:

nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions (github.com)github.com/nvm-sh/nvm

nvm-windows:

https://github.com/coreybutler/nvm-windows?github.com/coreybutler/nvm-windows

中文网

nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm中文网?nvm.uihtm.com/

二. 使用(安装在后面)

#切换node的版本
$ nvm use 16
Now using node v16.9.1 (npm v7.21.1)
$ node -v
v16.9.1
$ nvm use 14
Now using node v14.18.0 (npm v6.14.15)
$ node -v
v14.18.0
# 安装指定版本,latest 是最新版本
$ nvm install 12
Now using node v12.22.6 (npm v6.14.5)
# 查看当前node的版本
$ node -v
v12.22.6

1.查看当前使用的Node.js版本

nvm current   // v20.5.0

2.查看所有Node.js版本,*表示当前使用的版本

nvm ls


    20.5.0
  * 14.21.0 (Currently using 64-bit executable)

3. 查看可安装列表

nvm list available

|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    20.5.0    |   18.17.0    |   0.12.18    |   0.11.16    |
|    20.4.0    |   18.16.1    |   0.12.17    |   0.11.15    |
|    20.3.1    |   18.16.0    |   0.12.16    |   0.11.14    |
|    20.3.0    |   18.15.0    |   0.12.15    |   0.11.13    |
|    20.2.0    |   18.14.2    |   0.12.14    |   0.11.12    |
|    20.1.0    |   18.14.1    |   0.12.13    |   0.11.11    |
|    20.0.0    |   18.14.0    |   0.12.12    |   0.11.10    |
|    19.9.0    |   18.13.0    |   0.12.11    |    0.11.9    |
|    19.8.1    |   18.12.1    |   0.12.10    |    0.11.8    |
|    19.8.0    |   18.12.0    |    0.12.9    |    0.11.7    |
|    19.7.0    |   16.20.1    |    0.12.8    |    0.11.6    |
|    19.6.1    |   16.20.0    |    0.12.7    |    0.11.5    |
|    19.6.0    |   16.19.1    |    0.12.6    |    0.11.4    |
|    19.5.0    |   16.19.0    |    0.12.5    |    0.11.3    |
|    19.4.0    |   16.18.1    |    0.12.4    |    0.11.2    |
|    19.3.0    |   16.18.0    |    0.12.3    |    0.11.1    |
|    19.2.0    |   16.17.1    |    0.12.2    |    0.11.0    |
|    19.1.0    |   16.17.0    |    0.12.1    |    0.9.12    |
|    19.0.1    |   16.16.0    |    0.12.0    |    0.9.11    |
|    19.0.0    |   16.15.1    |   0.10.48    |    0.9.10    |

This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases

4. 升级/安装Node.js版本

Node.js的版本管理方法有很多种,比如手动下载最新版,使用Node版本管理工具等。而使用NVM管理Node.js版本则非常方便。使用如下的命令升级或安装Node.js的版本:

nvm install 10
nvm install 10.0.0
nvm install latest

5. 切换Node.js版本命令

nvm use 8.0.0
nvm use 8

6. 离线安装

有时候,我们可能需要在没有网络的情况下安装Node.js版本。这时候,我们可以先下载Node.js的二进制安装包然后通过NVM进行安装。以下是NVM离线安装Node.js版本的命令:

nvm install /path/to/binary

其中,/path/to/binary表示你要安装的二进制文件路径。

例如,我们已经将Node.js的8.0.0二进制文件放置在了“/opt/nodejs/node-v8.0.0-linux-x64.tar.xz”这个路径下,那么可以执行以下命令进行安装:

nvm install /opt/nodejs/node-v8.0.0-linux-x64.tar.xz

执行该命令后,NVM就会自动解压、安装Node.js 8.0.0,并将其添加到已安装列表中。

7. 命令列表说明

nvm命令提示
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。


三、Window 安装

官网下载地址:Releases · coreybutler/nvm-windows

我下载了nvm-steup.exe,下载后双击运行选择安装位置。

在这里创建一个软连接,并添加到 path,相当于配置了环境变量。
选用默认的或者自己已安装 node 的目录也是可以的。会有弹框,一直点是就可以了

选择是。相当于电脑已经安装了 node.js,是否让nvm管理起来,选择是之后就会复制一份到自己的安装目录中。省去了再下载一次。

最后,Finish就安装好了。可以通过前面的使用命令进行使用了。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表