Как игнорировать несовместимый двигатель "node" при установке npm-зависимостей с пряжей?
Учитывая это package.json
:
{
"name": "yarn-install-fail",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {},
"author": "",
"license": "ISC",
"dependencies": {
"aws-sdk": "2.x.x",
"s3-streams": "^0.3.0"
}
}
Я могу установить зависимости успешно через npm:
$ npm install
added 27 packages in 1.844s
Однако нить не работает:
$ yarn install
yarn install v0.24.5
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version "^1.2.0".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Похоже, что пряжа имеет проблемы с установкой библиотеки [email protected]
, но я предположил, что она откажется устанавливать все зависимости в любом случае, как npm
.
Ответы
Ответ 1
Вы действительно можете игнорировать такие ошибки с помощью - ignore-engines:
$ yarn install --ignore-engines
yarn install v0.24.5
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 1.41s.
Это также описано в справке по командам:
$ 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
Ответ 2
"yarn config set ignore-engine true" - это одноразовое решение проблемы "узел двигателя несовместим с этим модулем". Как только это будет завершено, вы можете сделать "создать-реагировать-приложение мое приложение"