以前SSH接続とコマンド操作によりPHPのCLIバージョンを最新にする方法に触れましたが、今回はcomposerの設置とバージョンアップのための手順についてです。
ここでもPCはwindows、サーバーはエックスサーバー(あるいはシン・レンタルサーバー)という条件になります。
デフォルトのcomposerのバージョンを確認
まずはデフォルトのcomposerのバージョンを確認します。
SSH接続して、「composer -V」と入力しましょう。
$ composer -V
Composer version 1.10.22 2021-04-27 13:10:45
バージョン1.10.22と表示されました。
結構古いというか、デフォルトで2.x系を入れてくれてもいいのにという気はします。
新しいバージョンのcomposerを設置する
新しいバージョンのcomposerを設置を行っていきます。
コマンドを実行してcomposerをインストールする
composerのサイトに移動し、インストール用のコマンドを確認しましょう。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
こんな感じのコードがあるので、それを実行します。
All settings correct for using Composer
Downloading...
Composer (version 2.8.5) successfully installed to: /home/*********/composer.phar
Use it: php composer.phar
バージョン2.8.5のcomposerが設置されました。
またこの時点でcomposer.pharというファイルが作られます。
composer.pharファイルを移動し、名前を変更する
「composer -V」を打ち込むとわかりますが、最新のcomposerがインストールできたとはいっても、すぐに反映されるわけではありません。
phpのCLIバージョンの設定においてもリンクやパスの設定を行いましたが、似たような作業がcomposerでも必要です。
やることは先ほど生成されたcomposer.pharファイルをbinディレクトリに移動し、ファイル名を変更します。
$ mkdir -p $HOME/bin
$ mv composer.phar $HOME/bin/composer
「mkdir -p $HOME/bin」はbinディレクトリがない場合、新たに生成ます。
phpのCLIバージョン変更作業により、すでにディレクトリがある場合は何も起こりません。
二列目の「mv composer.phar $HOME/bin/composer」がファイルの移動と名前の変更です。
mvコマンドはファイルの移動やリネームを行うコマンドで、composer.pharファイルをHOME/bin/フォルダに移動し「composer」という名前にします。
元のcomposer.pharはファイル名が長く、そのままだと「php composer.phar」のように使う必要があります。
名前をcomposerに変えることで、単純に「composer」としてコマンドが実行可能になります。
これにより、composerコマンドとして利用できるようになります。
パスの追加と設定
ここでいわゆる「パスを通す」という作業を行います。
binフォルダに移動させ、ファイル名を変更したcomposer(元composer.phar)がどこにあるのかをあらかじめセッティングしておきます。
viエディタで.bashrcを編集する
.bashrcファイルを編集します。
$ vi ~/.bashrc
viでコマンドをエディタモードにし、.bashrcを開きます。
export PATH=$HOME/bin:$PATH
パスを通すためのコードを追記します。
コードを書き込んだら、内容を保存してエディタモードを終了します。
echoコマンドで.bashrcを編集する
コマンドから直接入力でパスを設定することも可能です。
$ echo '' >> ~/.bashrc
$ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
.bashrcファイルにパスを入力しましょう。
これもphpのCLIバージョン変更作業により、binディレクトリまでのパスが設定済であれば、府不要になります。
パスが追加されたか確認してみる
パスを追加したら、一度確認してみましょう。
$ printenv PATH
printenvコマンドは環境変数の値を表示するために使用されます。
単にprintenvと打ち込むと、あらゆる環境変数の値が表示されますが、ここではPATHの値だけを確認したいので、「printenv PATH」と入力します。
/home/**********/bin:/usr/lib/courier-imap/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/**********/.composer/vendor/bin
パスの値は「:」ごとに区切られていて、見やすくすれば次のようになります。
/home/**********/bin
/usr/lib/courier-imap/bin
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/**********/.composer/vendor/bin
このうち「/home/**********/bin」が、先ほど追加したものです。
変更内容を反映し、バージョンを確認する
最後に内容を反映させましょう。
$ source ~/.bashrc
あとは「composer -v」と打ち込んで、バージョンを確認します。
$ composer -V
Composer version 2.8.5 2025-01-21 15:23:40
Composerのバージョンが2.8.5と表示されました。
これでComposerのバージョンアップはOKとなります。