skillup

技術ブログ

PHP

composer global require

投稿日:

composerでのglobal requireに関して。

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

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

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

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

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

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

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

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

composer global
http://qiita.com/ngyuki/items/c785a898343921e99e16

注意点

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

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

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

一応参考リンク(ただし英語っす)
https://pantheon.io/blog/fixing-composer-global-command
https://github.com/consolidation/cgr

-PHP
-

執筆者:


comment

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

関連記事

no image

phpenv+php-build 複数のPHPのversionを使い分け

使っているサーバーで別バージョンのphp(7.2.0)を使いたかったのでphpenv&php-buildをインストール。 Contents1 phpenvのインストール2 php insta …

no image

ECCUBE3ディレクトリ構成

ECCUBE3のディレクトリ構造に関して。 自分用 自分用メモです。 設定情報 /app/config/eccube 定数 /src/Eccube/Common/Constant ログ /app/lo …

no image

cakePHPでのマイグレーション

開発を続けているとデータベースのカラムの構造が変更するってことはしょっちゅうですが、管理がいい加減だとメンバー間でテーブルの構造が変わっていたり、本番と開発で違ってくるなどのトラブルが続出します。 そ …

no image

cakeでのトランザクション、コミット、ロールバック

cakePHP(2.X系)でのトランザクション、コミット、ロールバックについて。 cakePHPでトランザクションを書ける場合、Model内に [crayon-5e28d6d16f5341665668 …

no image

cakePHPでの直SQL

今回はCakePHPにて直のSQLを書く方法を。 cakePHPにて大概の処理はもともと備わっているコマンドでなんとかなりますが、まれに直SQLを書いたほうがらくなこともあります。 書き方その1 [c …