web-dev-qa-db-ja.com

yarnで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.

Yarnがライブラリのインストールに問題があるようです[email protected]、それでもnpmのようにすべての依存関係をインストールすることをフォールバックすると仮定しました。

34
k0pernikus

実際、このようなエラーは -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
61
k0pernikus

「yarn config set ignore-engines true」は、「エンジンノードがこのモジュールと互換性がない」問題に対する1回限りの修正です。それが完了したら、「create-react-app my-app」を実行できます

11
Luke Phillips