Почему Yarn пытается установить пакет 1.0.0, когда мой package.json ссылается на ^0.22.0?

Вот мой package.json:

{
  "scripts": {
    "examples": "docusaurus-examples",
    "start": "docusaurus-start",
    "build": "docusaurus-build",
    "publish-gh-pages": "docusaurus-publish",
    "write-translations": "docusaurus-write-translations",
    "version": "docusaurus-version",
    "rename-version": "docusaurus-rename-version"
  },
  "devDependencies": {
    "docusaurus": "^1.14.7",
    "cheerio": "^0.22.0"
  },
  "dependencies": {
    "react-treebeard": "^3.2.4"
  }
}

Когда я это делаю yarn install, я получаю эту ошибку:

error [email protected]: The engine "node" is incompatible with this module. Expected version ">=18.17". Got "16.20.2"
error Found incompatible module.

В этом есть смысл — я использую Node.js 16.20.2 и согласно примечаниям к выпуску Cheerio 1.0.0 был выпущен несколько дней назад и в нем увеличена минимально необходимая версия Node.js.

В идеале я бы обновил версию Node.js, которую использую, но при этом у меня возникли ошибки, а затем я сделал это yarn build.

Но почему yarn install пытается установить Cheerio 1.0.0, хотя я ясно говорю ему установить 0.22.0? Я попробовал ^0.22.0, ~0.22.0 и 0.22.0.

Возможно, одна из зависимостей Docusaurus требует Cheerio 1.0.0, но если бы это было так, то не должен ли я получать какую-то ошибку «несовместимые требования» вместо того, что я получаю?

🤔 А знаете ли вы, что...
Node.js позволяет выполнять JavaScript на стороне сервера, а не только в браузере.


2
423
1

Ответ:

Решено

в файле packages.json добавьте это в существующее разрешение и devDependities.

 "resolutions":{
    "cheerio": "<1.0.0"
}
and--
 "devDependencies":{
    "cheerio": "<1.0.0"
}