2017-05-14 8 views
0

これは愚かな質問かもしれませんが、かなりのグーグルで私はまだ気づいていない天気の後、私はインストール後にcomposer.pharファイルを削除する必要があります。ファイルはインストールの一部であるか、またはアプリケーションを実行するために必要ですか?インストール後にcomposer.pharが必要ですか?

答えて

1

Composer実行可能ファイルは、主に「更新」と「インストール」である依存関係を管理するために使用されます。その結果、自動生成されたオートローダーと、アプリケーションの必要なパッケージからの完全なファイルツリーが生成されます。

実行ファイル自体はアプリケーションの一部ではないため、実行する必要はありません。セキュリティ上の理由から、実際のサーバーが存在する必要があることが分かっている場合を除き、ライブサーバーには存在しないようにしてください。攻撃者に有用なツールを提供しないことが良い考えです。

実行可能ファイルを確保する適切な場所は、開発環境(新しいパッケージを追加して古いパッケージを更新するため)と、アプリケーションをライブサーバーに配置する展開サーバーです(そうでなければ、アプリケーション一緒に走る)。

ブランチを本番環境にプッシュするワークフローを作成する傾向があり、送信後のフックがcomposer installで実行されることがわかりましたが、これは信頼性の観点から危険です。Githubに予期しないダウンタイムがあり、プロダクションには、新しいパッケージをダウンロードできませんか?このシナリオでは、デプロイメントを実行するサーバーは実際にプロダクションサーバーなので、Composer実行可能ファイルのコピーが必要ですが、これは理想的なセットアップではないと説明しました。

+0

深みのある説明をありがとうございます。確かに私は両方の作曲家に新しいです。 apt-getを使ってコンポーザをインストールした後、私の/ home/userディレクトリにあるcomposer.pharファイルを発見したのですが、なぜそれが(あるいはどのように)作ったのか分かりませんでした。 EDIT:私があなたを正しく理解していれば、composer.pharファイルはすべてのプロジェクトのルートにあるはずです。私の場合、私のlaravelプロジェクトですか? –

+1

いいえ、 'composer.phar'は、' $ PATH'の内部にある便利な場所に置かなければなりません。そのため、パスを明示的に指定することなくどこでも 'composer'を簡単に呼び出すことができます。ファイル名を '.phar'拡張子なしに変更するかシンボリックリンクすることも良い考えです。これは技術的にはコマンドライン上では(少なくともLinuxでは)必要ではなく、より便利です。シェルエイリアス定義を作成して、Composerを呼び出すこともできます。しかし実際には、マシン上に 'phar'ファイルのコピーが1つだけ必要です。 – Sven

+0

AH!今はもっと意味がありますが、あなたはこの行をあなたの$ path変数 '$ HOME/.composer/vendor/bin'に追加してください。私はそれが参照していた時に手掛かりを持っていませんでしたが、私は$ HOMEがファイルが置かれているホームディレクトリを参照していると推測しています。 –

関連する問題