node.jsnpmnode-modules

Error message "node: --openssl-legacy-provider is not allowed in NODE_OPTIONS"


This problem appeared after an update, sudo apt upgrade, on Ubuntu 20.04 (Focal Fossa).

Previously, I worked on versions Node.js v18.0.0 and npm 8.7.0, but after the update there was a problem. I ran command nvm install node --reinstall-packages-from=node, but it did not help.

Now I use npm v8.12.1 and Node.js v18.4.0.

When running the command npm start, I receive the message:

> mini-app@0.0.0 start
> cross-env PORT=10888 HTTPS=false react-scripts start --openssl-legacy-provider

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

part of a file, package.json, looks like this :

 "scripts": {
    "start": "cross-env PORT=10888 HTTPS=false react-scripts start --openssl-legacy-provider",
    "build": "react-scripts build",
    "predeploy": "npm run build",
    "deploy": "vk-miniapps-deploy",
    "tunnel": "vk-tunnel --insecure=1 --http-protocol=https --ws-protocol=wss --host=localhost --port=10888"
  },

I went back to version npm 8.7.0, npm install -g npm@8.7.0, but now even the output of Node.js version shows the same error:

node -v

Output:

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

Attempt to update:

nvm install 12.13.0

Output:

v12.13.0 is already installed.
Now using node v12.13.0 (npm v)

Solution

  • You can try to perform an unset on the NODE_OPTIONS production variable. It can be done from the command line.

    Your Node.js version seems already up-to-date (version 18). A similar problem was already treated and solved according to the GitHub page Running code via CLI triggers error: --openssl-legacy-provider is not allowed in NODE_OPTIONS #136599.