ようやくSymfony CLIのインストールに成功。チュートリアルは5系で取り組むことに_φ(・_・

先日の記事でご紹介した、ごーやさんのブログやSymfony Japanさんのチュートリアルではバージョンが4系や3系でうまく動作出来なかったため、インストールした5系で対応できるものを探しました。(symfonyインストールしたら自然と5系になっていた)
※注意※
もしかしたら、私の探し方が下手で、ちゃんと探せば、ごーやさんのブログにもSymfony Japanさんのサイトにも、Symfony5系に対応したチュートリアルはあるかもしれません。

再度探し直して、次はこちらのサイトを参考にさせていただくことに。こちらの方は、公式サイトのbookにも載っている5系のものを取り組まれたようです。

The Fast Track – 基礎から最速で学ぶ Symfony5 入門 を読み解いた! – Qiita

6系のものも、公式サイトにありますね↓

The Fast Track – 基礎から最速で学ぶ Symfony 入門 (Symfony 6.2 Docs)

とりあえず今回は、5系のもので学んでいってみようと思います。

そして、参考サイトの記事を執筆された方は私と使っているエディタが違うので、そこにも気をつけながら取り組んでみたいと思います。

とりあえず、「symfony check:requirements」までは終えているので、【プロジェクトの作成】から取り組むことに。

プロジェクトの作成

composer create-project symfony/skeleton guestbook "5.1.*"
cd guestbook
composer require symfony/requirements-checker

まずは1行目を実行したところ

symfony/flex contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins

Do you trust “symfony/flex” to execute code and wish to enable it now? (writes “allow-plugins” to composer.json) [y,n,d,?]

このエラーメッセージは、Symfonyアプリケーションの開発に必要なComposerプラグインである symfony/flex が、現在の allow-plugins 構成に含まれていないことを示しています。このエラーメッセージは、Composerがこのプラグインを使用しようとしたが、許可されていないために発生しました。

対処方法は、プラグインを許可するかどうかを決定し、適切な手順に従うことです。エラーメッセージには、プラグインを許可するためのリンクが記載されています。このリンクにアクセスすると、allow-plugins 構成についての情報が表示されます。これに従って、Composerの allow-plugins 構成に symfony/flex プラグインを追加して、Composerがプラグインを使用できるようにすることができます。

このエラーメッセージには、y, n, d, ? のいずれかを入力するように求めるプロンプトも表示されます。これは、Composerがプラグインを有効にするかどうかを尋ねるものです。y を入力してプラグインを有効にすることができます。n を入力してプラグインを無効にすることもできます。d を入力すると、プラグインの詳細情報が表示されます。? を入力すると、利用可能なオプションの一覧が表示されます。

例えば、y を入力すると、Composerが allow-plugins 構成に symfony/flex プラグインを追加して、プラグインを有効にします。また、 composer.json ファイルにも変更が加えられます。

とありましたので、ここは「y」を入力してエンター。
無事に必要なプラグインをインストールできました。その後は

symfony/framework-bundle instructions:

  • Run your application:
    1. Go to the project directory
    2. Create your code repository with the git init command
    3. Download the Symfony CLI at https://symfony.com/download to install a development web server
  • Read the documentation at https://symfony.com/doc

Found 1 security vulnerability advisory affecting 1 package.
Run composer audit for a full list of advisories.

No security vulnerability advisories found

と表示されました。

このターミナルの表示は、 symfony/framework-bundle パッケージのインストール後に表示されるメッセージです。このパッケージは、Symfonyフレームワークのコア機能の一部であり、アプリケーションを実行するために必要な依存関係の1つです。

このメッセージには、次の2つのセクションが含まれています。

  1. symfony/framework-bundle のインストール手順: これは、アプリケーションを実行するための基本的な手順を示しています。プロジェクトディレクトリに移動して、 git init コマンドでコードリポジトリを作成し、開発用のWebサーバーをインストールする必要があります。Webサーバーには、Symfony CLIをダウンロードしてインストールすることが推奨されています。
  2. Composerのセキュリティ脆弱性に関するアドバイザリー: このメッセージには、 composer audit コマンドを実行して、パッケージに影響を与える可能性のあるセキュリティ脆弱性について警告するリンクが含まれています。この場合、脆弱性の警告は表示されませんでした。

以上のメッセージは、Symfonyアプリケーションを開発するために必要な手順と情報を提供するために表示されるものです。必要に応じて、手順や警告に従ってアプリケーションを構成することができます。

先に進みます。次に、

composer create-project symfony/skeleton guestbook "5.1.*"
cd guestbook
composer require symfony/requirements-checker

こちらの2行目と3行目を順次入力してエンター。
すると今度はターミナル後半に

Found 1 security vulnerability advisory affecting 1 package.
Run composer audit for a full list of advisories.
Using version ^2.0 for symfony/requirements-checker

セキュリティ脆弱性 について表示されました。

このターミナルの表示は、Composerが symfony/requirements-checker パッケージのバージョン ^2.0 をインストールし、1つのセキュリティ脆弱性アドバイザリーがあることを通知しています。セキュリティ上の理由から、この脆弱性が修正された最新バージョンにアップデートすることを強くお勧めします。

対処方法としては、以下の手順に従うことができます。

  1. ターミナルで composer audit を実行し、アドバイザリーのリストを確認します。これにより、アプリケーションにインストールされているすべてのパッケージの脆弱性情報が表示されます。
  2. composer update を実行して、 symfony/requirements-checker パッケージを最新バージョンにアップデートします。これにより、最新の修正プログラムが適用され、脆弱性が解消されます。
  3. パッケージをアップグレードする場合、依存関係の変更があるため、アプリケーションの動作に影響を与える可能性があるため、テストを実行して問題を修正する必要があります。
  4. 必要に応じて、アップグレードを実行する前に、アプリケーションのコードをバージョン管理システムにコミットすることをお勧めします。これにより、問題が発生した場合に変更を元に戻すことができます。

上記の手順に従って、パッケージをアップグレードし、アプリケーションのセキュリティを改善することができます。

少し悩みましたが、今回はローカル環境で、まずは触ってみるところをメインにしたいので、こちらの対応は一旦置いておくことにしました。

以上で、プロジェクトの作成が終わりました!
次回は、ファイル構成などをじっくり見ていくことにします!

この記事を書いた人