Pages

2023年7月11日火曜日

PHP5.3 環境でcomposer self-update して動かなくなった時

RHEL6 ELS の環境で composer self-update をしてしまったようで、アップデートされたけど同時に comopser が壊れてしまった。。
$data が何やら invalid foreach だの。。

前にもあったが composer は環境の phpのバージョンを見てアップデートした良いかを判別しておらず、動かなくても更新しちゃうクールなやつ♪

って事で

$ composer self-update 1.7.2

を行うが 

[ErrorException]
Invalid argument supplied for foreach() 

チーン。。

って事で削除してインストールしなおす。

$ cd ~/
$ rm ./bin/comopser
$ cd ./bin
$ curl -sS https://getcomposer.org/installer | php -- --version=1.7.2
$ mv ./composer.phar composer

composer とは

Composerは、PHPプログラミング言語向けの依存関係管理ツールです。PHPのパッケージやライブラリのインストール、更新、バージョンの管理を容易に行うことができます。

Composerは、PHPアプリケーションの開発において、外部のライブラリやパッケージを利用する場合に特に便利です。通常、PHPのプロジェクトでは、複数のライブラリやパッケージが必要となることがあります。それらのライブラリやパッケージの依存関係を手動で管理するのは困難で時間がかかるため、Composerを使用することで効率的に管理することができます。

Composerは、プロジェクトのルートディレクトリに配置される`composer.json`と呼ばれる設定ファイルを使用して、必要なパッケージやライブラリを指定します。Composerは、指定された依存関係を解決し、自動的に必要なパッケージをダウンロードしてインストールします。

Composerは、PHPコミュニティで広く使用されており、多くのPHPフレームワークやプロジェクトで標準的な依存関係管理ツールとして採用されています。

composer をアップグレードする方法

Composer自体のアップデートは、コマンドラインで簡単に行うことができます。以下の手順に従って、Composerを最新バージョンにアップデートする方法を説明します。

1. ターミナルまたはコマンドプロンプトを開きます。
2. Composerがグローバルにインストールされている場合は、以下のコマンドを実行します:

 $ composer self-update

   Composerがローカルにプロジェクトごとにインストールされている場合は、プロジェクトのルートディレクトリで上記のコマンドを実行します。
   
   Composerがアップデートされ、最新バージョンに更新されます。

3. コマンドが正常に実行された場合、Composerは自動的に最新バージョンに更新されます。

なお、Composerをアップデートするにはインターネット接続が必要です。アップデート後は、最新の機能や修正が適用されたComposerを使用することができます。

comopser をダウングレードする方法

Composerを特定のバージョンにダウングレードするには、次の手順に従ってください。

1. ターミナルまたはコマンドプロンプトを開きます。

2. Composerの現在のバージョンを確認します。以下のコマンドを実行します:

$ composer --version

   現在のバージョンが表示されます。

3. ダウングレードしたいバージョンを指定してComposerをインストールします。以下のコマンドを実行します:

$ composer self-update <version>

   `<version>`の部分に、ダウングレードしたいバージョン番号を指定します。例えば、Composerを1.10.10にダウングレードする場合は次のようにします:

$ composer self-update 1.10.10

4. コマンドが正常に実行された場合、指定したバージョンのComposerがインストールされます。

ダウングレード後は、指定したバージョンのComposerを使用することができます。ただし、Composerをダウングレードする場合、そのバージョンに関連する制約や制限があるかもしれないことに注意してください。最新バージョンを使用することが推奨される場合もあります。

Followers