Я получаю ошибку ниже пряжи при развертывании на AWS

error fs-extra@7.0.1: The engine "node" is incompatible with this module. Expected version ">=6 <7 || >=8". Got "7.0.0"

Есть идеи, как это будет решено?

Сработает ли это, если я укажу движок в package.json

{ 
  "engines" : { 
    "node" : ">=8.0.0" 
  }
}

JN_newbie

Ответы (10)

Я обнаружил эту проблему сейчас, со старым кодом, однако я решил ее с помощью: пряжа апгрейд

Моя проблема была решена с помощью yarn --ignore-engine, но я не уверен, почему и как.

sudo npm cache clean -f
sudo npm install -g n
sudo n 10.22.1
node -v => Should be on 10.22.1

введите, какая версия узла вам нужна, поскольку я только что привел 10.22.1 в качестве примера

Добавьте - ignore-engine к суффиксу при установке пакета следующим образом:

yarn add --ignore-engines

Вам необходимо обновить вашу версию node.

I ran into this same issue.

If you used Homebrew run:

brew update  # This updates Homebrew to latest version
brew upgrade node

If you use nvm run:

nvm current node -v  # Checks your current version
nvm install   # Example: nvm install 12.14.1

For the above step go to https://nodejs.org/en/download/

Grab a version which satisfies the conditionals in your error, the latest version should work.

More Detailed Walkthrough: https://flaviocopes.com/how-to-update-node/

У меня сработало обновление Node до последней версии. Следуя любому руководству в зависимости от вашей ОС.

Upgrading Node.js to latest version

Исправление, которое является взломом, может быть

yarn config set ignore-engines true

However if you want a permanent solution is to :

  1. delete node_modules/, package-lock.json & yarn.lock
  2. run yarn install or npm i again.

Я рекомендую сделать то, что написано в сообщении об ошибке, и проверить свою версию Node.js (node -v). Самый простой способ обновить Node.js - использовать диспетчер версий n:

$ npm install -g n

Then install the latest (n latest) or LTS (n lts) version of Node.

У меня была аналогичная проблема в Ubuntu даже после многократной установки Nodejs с последней версией, всегда показывалась одна и та же старая версия Nodejs; Я обнаружил, что он каждый раз устанавливал аналогичный старый пакет Debian, даже после выполнения команды обновления apt-get

Finally, I got it to work by purging the old nodeJs then adding different repository source, and installing nodeJs normally with the new distribution as follows:

sudo apt-get purge --auto-remove nodejs
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

Please find the list of all NodeJs distribution below https://github.com/nodesource/distributions/blob/master/README.md

You may find other ways of doing the update, but this one worked for me.

Можете попробовать не обращать внимания на движки:

$ yarn install --ignore-engines

OR

$ yarn global add --ignore-engines

You can see all what you can ignore by running:

$ yarn help | grep -- --ignore

--ignore-scripts     don't run lifecycle scripts
--ignore-platform    ignore platform checks
--ignore-engines     ignore engines check
--ignore-optional    ignore optional dependencies

2022 WebDevInsider