Yarn: 「install」というスクリプトをpackage.jsonに追加すると、無限ループが作成されます

作成日 2016年10月19日  ·  3コメント  ·  ソース: yarnpkg/yarn

_feature_をリクエストしますか、それとも_bug_を報告しますか?

バグ

現在の動作がバグである場合は、再現する手順を提供してください。

これをpackage.json追加します:

  "scripts": {
    "install": "yarn install --ignore-optional",
  },

走る

yarn install

現在の動作は何ですか?

> yarn install
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
Terminate batch job (Y/N)?
yarn install v0.16.0
Terminate batch job (Y/N)?
^C

期待される動作は何ですか?

無限ループはありません。 おそらく、Composerが行うことをコピーします:この警告を発します:

installという名前のスクリプトは、Composerコマンドをオーバーライドするため、スキップされました

そして、組み込みコマンドを続行します。

node.js、yarn、およびオペレーティングシステムのバージョンをお知らせください。

ノード:v6.3.1
毛糸:0.16.0
OS:Win10周年

最も参考になるコメント

正直なところ、これは意図的な動作のようです。元のバイナリの場所がわからず、検出がお粗末になるため、 yarnインストールコマンドを検出するために明示的に何もする必要はないと思います。 installは有効なライフサイクルスクリプトフックであり、正しく実行されています。無視されるものはありません。

全てのコメント3件

#1374に移動

正直なところ、これは意図的な動作のようです。元のバイナリの場所がわからず、検出がお粗末になるため、 yarnインストールコマンドを検出するために明示的に何もする必要はないと思います。 installは有効なライフサイクルスクリプトフックであり、正しく実行されています。無視されるものはありません。

@kittens 「npmライフサイクルスクリプト」を出くわすまで、あなたの応答に本当に混乱していました

私は実際、 installyarn/npm install後に実行されると_想定された_特別なものであることを知りませんyarn install後に自動的にトリガーされるとは知りませんyarn run install介して手動で実行したかっただけです。

その場合、これは完全に理にかなっています。 申し訳ありませんが@wyze@ thejameskyle-私の問題レポートを真剣に受け止めてくれてありがとう、しかし@kittensは実際にここにあると思います。 これは私自身の誤解によるものでした。 この状況を検出する必要はないと思います。

このページは役に立ちましたか?
0 / 5 - 0 評価