web-dev-qa-db-ja.com

composerの実行時にignore-platform-reqsフラグを常に使用するにはどうすればよいですか?

私のローカルマシンでは、php v7.0.3を使用しています。私のプロジェクトはphp v5.5に依存しています。

そのため、予想どおり、composer installを単純に実行するとクラッシュします。

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - This package requires php ~5.5 but your PHP version (7.0.3) does not satisfy that requirement.

私はプラットフォームを無視できることを知っています:

composer install --ignore-platform-reqs

それでも、フラグを追加するのを忘れがちです。しかし、アプリケーションはDockerコンテナー内で実行されるため、一致しないphpが依存関係を同様にインストールできます。

したがって、自分のローカルcomposerを常に--ignore-platform-reqsと仮定して入力する必要がないようにする方法があるかどうか疑問に思っています。

エイリアスの設定を避けて、composer設定レベルで機能させるようにします。

16
k0pernikus

プラットフォームの要件を無視するのではなく、 fake php version をお勧めします。追加

"platform":{"php":"5.5"}

~/.composer/config.jsonに変更するか、composer config -g -eを使用して編集します。

PHPバージョンを偽造するのに十分な設定の例:

{
    "config": {
        "platform":{
            "php":"5.5"
        }
    }
}

ただし、もっと多くのオプションがあるかもしれません。

15
Alex Blex

あなたは付け加えられます alias composer="composer --ignore-platform-reqs"から.bash_profileですが、このオプションを認識しないコマンド(例:composer outdated)。

個人的に私は持っています:

alias composer="composer --ignore-platform-reqs"
alias composer_orig="/usr/local/bin/composer"

たいていの場合--ignore-platform-reqsですが、それでもcomposer_orig見るたびに

[Symfony\Component\Console\Exception\RuntimeException]

「--ignore-platform-reqs」オプションは存在しません。

5
pamelus