【laravel】composer global require "laravel/installer"で随分はまった件

laravelのインストールはとっても簡単です。

bonoponz.hatenablog.com

しかし、このたび新しくプロジェクトを作成しようと改めて実行したところうまくいかない。

公式サイトを見たり参考URL見たりして試行錯誤するも全くうまくいかず、仕方ないからDockerに環境構築すればいけるだろうと詳しく無いDockerに手を出して構築頑張ってみても、結局同じエラーで失敗。

結論から先に

ウイルスソフトを無効にしました。

そう。ウイルスソフトがインストールを邪魔していたのです!!!

2〜3日かけてようやく解決した問題の原因がこんな身近なところに潜んでいたなんて。

ウイルスソフトを無効にした瞬間にインストールがすらすら〜と走って、物の数分で完了しブラウザでlaravelの初期ページを確認できました。

うまくいかなかったこと

とにかくcomposerがうまくいかない。

仮に「aaaaa」というプロジェクトを新規作成しようとターミナルで実行します。

$ composer create-project --prefer-dist laravel/laravel aaaaa
Creating a "laravel/laravel" project at "./aaaaa"

ここで数分フリーズしたかと思い根気強く待機すると次のように真っ赤なエラーが返ってきました。

[Composer\Downloader\TransportException]                                                                      
The "https://packagist.org/p/provider-2020-07%24784b09acb1fc5040a8ba5e16452c8c62ad578bce29c792c8c747ed723a3d  
72a5.json" file could not be downloaded (HTTP/1.1 404 Not Found)

なぜか同じようなエラーになってる方に巡り合えず。 だいたい検索すると、

Problem 1
~
~

のようにProblemとして返ってきている方々ばかりで参考になりませんでした。

しかし、とりあえず「これで解決しました」なる策を自分でも講じてみました。 composer updateしてみたりcomposer.lockを削除してみたり。すると何かの拍子でプロジェクトのインストール自体は成功しました。(これもなぜだか未だに不明…)

インストールは完了したものの、git cloneしたときのようにvendorフォルダがないためcomposer installをしてみることに。

laravelをgit cloneについて以下の記事にて。

bonoponz.hatenablog.com

しかしそのcomposer installもまったく進まずフリーズ。二進も三進もいかなくなったときに閃いたのが、Dockerで環境構築してlaravelインストールすればいいんじゃね?でした。

Dockerで環境構築

Dockerとは、自分の端末に仮想環境を作れる優れものです。

bonoponz.hatenablog.com

ここでQiitaを参考にしながらよくわからぬまま環境をせっせと作ること半日。

参考URL: dockerでLaravel環境構築 - Qiita

うまくいかなーーーい!!!

エラー内容

Step 13/13 : RUN composer global require "laravel/installer"
 ---> Running in 9d421c262551
Changed current directory to /composer
Using version ^3.2 for laravel/installer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)

またcomposer global require "laravel/installer"かよ!!

Dockerでもcomposer global require "laravel/installer"の部分でエラーになるので、これはもう端末の問題だなーと思い再度調べることに。

Googleの検索結果が紫リンクしかなくなっても調べました。そしてある一文を目にするのです。

またはファイアウォールがブロックしています

参考:php — composerの[Composer \ Downloader \ TransportException]エラーを修正する方法

むむ!?

ファイアウォール!?

も、もしやー!!!!

私はアバストを使っていたのでアバストを無効にしました。

bonoponz.hatenablog.com

無効にした 瞬間!!

何事もなかったかのようにターミナルで処理が進んでいくではありませんか!

期待に胸躍るまま、待つこと1分ほど(多分)。

Application key set successfully.

きたっ!待ちに待ったsuccessfully

早速laravelを起動。

$ php artisan serve
Laravel development server started: http://127.0.0.1:8000

http://127.0.0.1:8000にアクセスするとずーっとみたかったこの画面。

f:id:bonoponz:20200814201113p:plain

感涙。

まとめ

インストールしたりする際は、ウイルスソフトが妨害していないか、頭の片隅に置いておくといいかもしれません。