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

クラスメソッドとインスタンスメソッド

以前staticメソッドを定義したときに、記法がインスタンスメソッドの呼び方でも呼べてしまうことがあったので、これを機にインスタンス・クラス×変数・メソッドちょっと調べてみました。 言葉で書くよりコー …

no image

dateTimeの使い方

phpの日付ライブラリであるdateTimeについて。 Contents1 過去のリンク2 頻出表現3 リンク 過去のリンク CakePHP3 日付ライブラリ(Time)について http://ski …

no image

laravelのmigrationに関して

DBのカラムの保守などをする場合のmigrationに関して。 ポツポツ使っていたのですが、しっかりまとめてなかったのでここでまとめて見ようかと思います。 Contents1 カラム定義2 実際の実行 …

no image

PECLに関して

PHPのライブラリを入れようとするとたまに出てくるPECLに関して。 最近でもメールパーサーを入れた時に出ましたね。 [PHP]pecl,phpize,extensionという単語を見て頭痛がするあな …

no image

携帯サイト取得手法

PHPでスクレイピングの仕事をよくやるんですが、携帯サイトを取得してほしいという要望があり、少し調査をすることに。 携帯サイトといってもドメイン以下のディレクトリで/で区切ってsample.domai …