2

簡単な質問です。私のアイデアについて一般的にばかげていることがあれば教えてください/これに対するより良いアプローチがある場合:

継続的デリバリー パイプラインを作成する目的で、Composer でさまざまなタイプのテストに必要ないくつかのパッケージを "require-dev" で宣言したいと思います。しかし、「require-dev」の下にリストされているすべてのパッケージを 1 つのコマンドでグローバルにインストールする方法で install コマンドを実行することが可能かどうか疑問に思っています。

テスト環境を簡単に最新の状態に保ち、必要なすべての PHP テスト ソリューションにグローバル アクセスできるようになるので、これは素晴らしいことです。大した作業ではないことはわかっており、すべてを手動で行った場合はすでに完了していますが、ダウンロードとすべてを手動で行うと思うので、これを行う良い方法があるかどうか知りたいと思っていました。実行権限を与えてから、グローバル アクセスのために bin/ ディレクトリに移動するのは、面倒な解決策です。

4

2 に答える 2

8

composer のヘルプによると、composer でglobalキーワードを使用すると、グローバル composer dir ($COMPOSER_HOME) でコマンドを実行できます。

これは、 を実行するcomposer global require phpunit/phpunitと、composer がその時点でのディレクトリではなくグローバル ディレクトリを更新することを意味します。

したがって、私の場合、$COMPOSER_HOMEは私のホームディレクトリ/Home/.composerにあり、上記のコマンドを実行すると;

  1. /Home/.composer/composer.json ファイルを更新します。
  2. /Home/.composer/vender に最新の phpunit パッケージをダウンロードします。
  3. phpunit 実行可能ファイルへのシンボリック リンクを /Home/.composer/vendor/bin ディレクトリに追加します。

この時点で、パスにbinフォルダーが含まれていれば、コマンドを実行しているディレクトリに関係なく、システム内で phpunit を実行できます。

開発要件の一部として依存関係をインストールしたい場合は、インストール (または更新) コマンドに--devパラメータを追加するだけです。composer global require phpunit/phpunit --dev

于 2015-06-08T19:41:43.927 に答える