记录屎山中出现的问题

各种历史存留项目启动过程就会遇到的问题

error: error:0308010c:digital envelope routines::unsupported 和 error:03000086:digital envelope routines::initialization error

https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported

https://stackoverflow.com/questions/69665222/node-js-17-0-1-gatsby-error-digital-envelope-routinesunsupported-err-os

You can try one of these:

1. Downgrade to Node.js v16.

  • You can reinstall the current LTS version from Node.js’ website.
  • You can also use nvm. For Windows, use nvm-windows.

2. Enable legacy OpenSSL provider.

On Unix-like (Linux, macOS, Git bash, etc.):

bash
1export NODE_OPTIONS=--openssl-legacy-provider

On Windows command prompt:

javascript
1set NODE_OPTIONS=--openssl-legacy-provider

On PowerShell:

javascript
1$env:NODE_OPTIONS = "--openssl-legacy-provider"

怎么设置多个 NODE_OPTIONS 值

NODE_OPTIONS 是一个环境变量,它允许你指定 Node.js 进程的启动选项。你可以设置多个选项,只需要将它们空格分隔即可。在 Unix/Linux 系统下,可以像下面这样设置:

bash
1export NODE_OPTIONS="--option1=value1 --option2=value2 --option3=value3"

在 Windows 系统下,可以像下面这样设置:

bash
1set NODE_OPTIONS="--option1=value1 --option2=value2 --option3=value3"

请替换 "option1=value1", "option2=value2", "option3=value3" 为你需要的实际选项和值。例如,如果你希望设置内存限制和启用垃圾回收日志,你可以这样设置:

bash
1export NODE_OPTIONS="--max_old_space_size=4096 --trace_gc"

这将会设置 Node.js 进程的最大老生代内存为 4096MB,并启用垃圾回收的追踪日志。

npm 使用 git 协议安装依赖

要使用 git 协议从 GitLab 安装 npm 包,你需要做的是在安装命令中使用 git+ssh 协议。以下是基本的步骤:

  1. 确保你的计算机上已经安装了 Node.js 和 npm。

  2. 你需要在你的计算机和 GitLab 账户之间设置 SSH 密钥。如果你还没有设置,你可以参考 GitLab 的 SSH 密钥设置指南来完成这个步骤。

  3. 一旦你的 SSH 密钥设置好了,你可以使用以下命令来安装 npm 包:

    sh
    1npm install git+ssh://[email protected]:<username>/<repository>.git

    在上述命令中,<username> 是你的 GitLab 用户名,<repository> 是你的仓库名。