skillup

技術ブログ

PHP

composer global require

投稿日:2017年6月29日 更新日:

composerでのglobal requireに関して。

composerでライブラリを読み込むとき、一般的には下記のどちらかで読み込むことが多いです。

  • composer.jsonに記述
  • composer require "ライブラリ"

これらはともにローカル(今あるプロジェクト)内でライブラリを読み込ませる行為になります。

例えば今ログインしているユーザー全体であるライブラリを使いたいときは composer global require ライブラリ などとやって読み込ませることができます。

私の場合jenkinsでライブラリを使いたいときにサーバー全体にcomposerでインストールを行いました。

こうしますとライブラリの入ったディレクトリがホームディレクトリに配置されます。

あとはPATHも通しておきましょう。

これで特定ユーザーでログインした時には特定のプロジェクトによらず、インストールしたライブラリを使うことができます。
composer global

注意点

composer globalですが、依存関係がうまく解消できずエラーが起きることがあるようです。

わたしもphpdocumentをcomposer globalで読み込もうとしたときに下記のようなエラーが起こりました。

より安全な方法としてはcgrというコマンドを使用したほうが良いようです。情報がまだないため調査中ですが・・・

一応参考リンク(ただし英語っす)

Fixing the Composer Global Command

https://github.com/consolidation/cgr

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

メールパーサー(mailparseとphp-mime-mail-parser)に関して

以前、POP3を使ったメール受信というエントリーでメールパーサーをインストールしたんですが、他のライブラリをインストールする機会があったんでメモ。 https://github.com/php-mim …

no image

CakePHP3 日付ライブラリ(Time)について

CakePHPには標準でいろいろなライブラリが入っていますが、日付ではCake\I18n\Timeというライブラリが入っています。 内部では3.2より前のバージョンではCarbonだったようですが、そ …

no image

laravelでの名前空間変更

laravelでの名前空間変更について。 laravelでモデルの場所はディフォルトだとapp/直下に作られます。 これをapp/Modelというディレクトリを作ってnamespaceを正常に定義した …

no image

Cakeでのリレーションについて

いまさらながらCakeのリレーションについての復習。 基本から。 Contents1 基本的なリレーション1.1 1対N1.2 N対11.3 動的な紐づけ 基本的なリレーション 下記のようなテーブル構 …

no image

jenkinsでのPHPのCIに関して

PHPでのjenkinsに関して。 PHPでのjenkinsといっても基本Javaなどと変わらないと思います。 何らかのトリガーでjenkinsのjobをビルド(一連のタスク)させる ビルドの内容はソ …

アーカイブ