Composerをインストールしよう!

Composer

Composerをインストールしよう!

Laravelでは、Composerという仕組みを利用してさまざまなパッケージを管理します。そこで、まずはComposerをインストールします。プロジェクトごとにインストールするかグローバルにインストールするかを選ぶことができます。プロジェクトごとにインストールするのはめんどくさいので、私はグローバルにインストールしています。

macOSの場合、portを使うと/opt/local以下にファイルを設置するので、portで使わない/usr/local/binにComposerを設置します。Homebrewは使っていないのでわからないです。

Terminalを起動して、以下のコマンドをコピーアンドペーストして、一気に実行します。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

実行したら、ホームディレクトリの.bash_profileというファイルに環境変数を設定します。

cat ~/.bash_profice
# path
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin

if [ -f ~/.bashrc ]; then
  source ~/.bashrc
fi
source ~/.bash_profile

を実行してから、

which composer

を実行して、

/usr/local/bin/composer

と返ってくれば、Composerのインストールは終了です。

引数なしでcomposerを実行すると、以下の出力を得ることができます。

composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.5.1 2017-08-09 16:07:22

Usage:
command [options] [arguments]

Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
about Shows the short information about Composer.
archive Creates an archive of this composer package.
browse Opens the package's repository URL or homepage in your browser.
clear-cache Clears composer's internal package cache.
clearcache Clears composer's internal package cache.
config Sets config options.
create-project Creates new project from a package into given directory.
depends Shows which packages cause the given package to be installed.
diagnose Diagnoses the system to identify common errors.
dump-autoload Dumps the autoloader.
dumpautoload Dumps the autoloader.
exec Executes a vendored binary/script.
global Allows running commands in the global composer dir ($COMPOSER_HOME).
help Displays help for a command
home Opens the package's repository URL or homepage in your browser.
info Shows information about packages.
init Creates a basic composer.json file in current directory.
install Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
licenses Shows information about licenses of dependencies.
list Lists commands
outdated Shows a list of installed packages that have updates available, including their latest version.
prohibits Shows which packages prevent the given package from being installed.
remove Removes a package from the require or require-dev.
require Adds required packages to your composer.json and installs them.
run-script Runs the scripts defined in composer.json.
search Searches for packages.
self-update Updates composer.phar to the latest version.
selfupdate Updates composer.phar to the latest version.
show Shows information about packages.
status Shows a list of locally modified packages.
suggests Shows package suggestions.
update Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.
validate Validates a composer.json and composer.lock.
why Shows which packages cause the given package to be installed.
why-not Shows which packages prevent the given package from being installed.

 

Composerを高速化しよう!

今の状況では、Composerはかなり重いので、高速化します。

ComposerはPackagist.orgというリポジトリを参照しているのですが、これが日本から見て遠いところにあるため、もっと近いPackagist.jpというミラーサイトを参照するように変更します。

composer config -g repos.packagist composer https://packagist.jp

次に、高速化プラグインをインストールします。

composer global require hirak/prestissimo

これで高速化は終了です。

Composerの高速化については、以下の記事を参考にしました。ありがとうございました。

Composerの実行速度を高速化する方法