63
77

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS7にComposerをインストールする

Last updated at Posted at 2017-02-04

##Composerとは
PHPのパッケージ管理システムである。

##なぜ使うのか
パッケージ管理システムがない環境では、メンバーがそれぞれ必要なライブラリの公式サイトにアクセスしたり、yumを使ったり、zipファイルをダウンロードしたりし、ローカルに展開します。
パッケージ管理システムはそれらを個人の裁量に依存せずに導入できる仕組みを提供します。

パッケージ管理システム自体のインストールが必要だったり、使い方の理解が必要だったり、学習コストは必要ですが、それよりはメリットの方が大きいので今時のPHPプロジェクトでは必要とされています。

Composerを使えば、コマンド一発で必要なパッケージをすべてインストールでき、依存関係にあるパッケージも自動的にインストールしてくれます。

##インストール手順
ComposerのインストールにはPHPが必要です。PHPがインストールされてない方は先にPHPをインストールしてください。
http://qiita.com/inakadegaebal/items/b57cf10339978d638305

「composer-setup.php」をダウンロードします。wgetなどのコマンドでも大丈夫ですが、公式サイトに紹介されている方法を取ります。

# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

問題ないはずですが、有効なものかチェックします。「Installer verified」と表示されたら問題ないです。

# php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

ダウンロードした「composer-setup.php」を実行し、インストールします。これで、「composer.phar」ファイルが出来上がります。

# php composer-setup.php

実行が終わったら「composer-setup.php」は不要なので削除します。

# php -r "unlink('composer-setup.php');"

Globallyに使うため、「composer.phar」を「/usr/local/bin/」の直下に移動させます。これでどこでも「composer」コマンドが使えるようになります。

# mv composer.phar /usr/local/bin/composer

確認

$ composer

※composerコマンドはrootユーザーでは使わないことが推奨されています。
https://getcomposer.org/doc/faqs/how-to-install-untrusted-packages-safely.md

63
77
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
77

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?