Laravelインストール時のエラー「Failed to download psr/http-message from dist: The zip extension and unzip/7z commands are both missing, skipping.」の対処方法
目次
スポンサードリンク
エラーの原因
LaravelをWindows端末にインストールした際、下記エラーが表示されました。
Failed to download psr/http-message from dist: The zip extension and unzip/7z commands are both missing, skipping.
原因は、composer でダウンロードしたライブラリに含まれるzipファイルを解凍できなかったためです。unzip コマンドか7z コマンドが使える状態の端末では発生しないエラーです。
composerはPHPのパッケージ管理ツールです。composerでは多くのソフトウェアがzip形式で圧縮した状態で配布されており、zipファイルを解凍できず、エラーとなっていました。
対処方法
今回は使用しているWindows端末に 7-zip をインストールして対処しました。
7-zip をインストールしていない状態でコマンドプロンプトを起動し、 7z コマンドを使ってみるとコマンドとして認識されていない状態でした。unzipコマンドでも同様の状態です。
C:\Users\username>7z
'7z' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
7-zip は以下サイトからダウンロードします。
私のPCは64bit環境だったので、64bit環境向けの.exe をダウンロードしてインストールしました。その後、環境設定から環境変数「Path」に 7-Zip をインストールしたディレクトリを追加しました。私の環境では「C:\Program Files\7-Zip」を追加しました。
再度、コマンドプロンプトを起動して 7z コマンドを使えることを確認します。問題なくバージョンが表示されましたね。
C:\Users\username>7z -version
7-Zip 24.08 (x64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
Composer で Laravel のインストールをやり直したところ、今度はタイトルのエラーは表示されず、問題なくLaravelをインストールすることができました。
PHP、Laravelを学ぶ際のおすすめ書籍
プロフェッショナルWebプログラミング Laravel
Docker Desktop + Laravel Sail を使った環境構築に始まり、Twitter風アプリを題材に基本的なアプリケーション構築の流れを学べます。メール送信やログイン、バッチ処理など実践的な内容もかかれてたので最初の一歩にはおすすめです。
レベルアップPHP ~言語を理解して中級者へ~
PHPの入門書を読み終えさらなる実力をつけたいエンジニア向けの技術書です。PHPの入門書にはあまり載っていないバージョンアップ方法やパフォーマンスなど、実務に役立つ内容も記載が豊富。30日間の無料体験もできる『Kindle Unlimited』でも読めます。
独習PHP 第4版
PHP の基本から抑えたいときはこちら。解説が詳しい、練習問題で知識の定着も促せる。辞書のような一冊。手元にある安心感。とにかく分厚い。
Twitterもやってます。
Web開発やノーコード開発、趣味のお酒や家庭菜園についてつぶやいてます。
https://twitter.com/haradedede
Search
Recent Posts
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法
- RHEL系Linuxでリポジトリを一覧表示するコマンド(dnf repolist)
- .php以外の拡張子でPHPを動作させようとして発生したエラー「Got error 'Access to the script '/var/www/html/php.html' has been denied (see security.limit_extensions)'」の原因と対処方法