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

メモリー不足でのスワップ割り当て

先日、あるサーバーでcomposerをinstallしようとしたところ、 The following exception is caused by a lack of memory or swap, …

no image

eclipseでのPHPソースの扱い方

Contents1 既存ファイルからプロジェクト生成2 PHP5.4以降でコンパイルする3 ctpファイルのシンタックスハイライト 既存ファイルからプロジェクト生成 超小ネタですが、Eclipseです …

no image

Basic認証のあるページの情報の取得

ひさびさにPHPネタです。 PHPではWEBページを保存するときにfile_get_contents(url)と書いてあげるとHTMLデータを取得できます。 が、Basic認証などのページは当然fal …

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

no image

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

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