J4.x:ローカル環境の設定
From Joomla! Documentation
Joomla 4 のローカル環境を設定する方法
Joomla 4 では開発プロセスが変更されているため、リポジトリを複製してJoomlaインストールを使用することはできなくなりました。ここではベストプラクティスに従い、CMSのビルドプロセスを実装しました。
クイックスタートガイド
開発環境をセットアップするために必要な作業は、オペレーティングシステムによって異なります。各OSごとのドキュメントは準備できませんので、お気に入りの検索エンジンで方法を調べる必要があります。
必要なツール
- PHP - 基本的にJoomlaサイトを実行するために必要なものと同じですが、PHPのCLI(コマンドラインインターフェイス)バージョンが必要です。(Configuring a LAMPP server for PHP development ページを参照)
- Composer - JoomlaのPHP依存関係を管理します。
Composerのインストールに関するヘルプは、https://getcomposer.org/doc/00-intro.md のドキュメントを参照ください
- Node.js - JoomlaのJavaScriptとSASSファイルをコンパイルします。
Node.js のインストールは https://nodejs.org/en/ にあるインストラクションを参照ください。
- Git - バージョン管理に利用します。
ローカル環境を設定する手順
- リポジトリのクローン作成
- Checkout the branch of the latest release (currently 4.4-dev).
- git リポジトリのルートから composer install を実行します。(PHP-LDAP がローカルにインストールされておらず、必要な場合は --ignore-platform-reqs を追加できます。)
- git リポジトリのルートから npm install を実行します。
Linux and OSX users can set up the following bash alias by placing the following inside the ~/.bashrc file:
alias jclean="rm -rf administrator/templates/atum/css; \
rm -rf templates/cassiopeia/css; \
rm -rf administrator/templates/system/css; \
rm -rf templates/system/css; \
rm -rf media/; \
rm -rf node_modules/; \
rm -rf libraries/vendor/; \
rm -f administrator/cache/autoload_psr4.php; \
rm -rf installation/template/css"
alias jinstall="jclean; composer install; npm ci"
This will delete all the compiled files in your system and run a fresh install as one command by calling jinstall inside your Joomla install. You can also use the jclean command to swap back to a Joomla 3.x branch
少し長いスタートガイド
Joomlaは最近の他の多くのWebツールと違いはありません。大部分がPHPでできていて、より多くのJavaScriptコードで書かれています。PHPコーディングにはあまり準備が必要ではありませんが、JavaScriptには多くのツールが必要です。主な理由は、誰もがすべてのブラウザが理解できる方法でコードを書くことがないということです。 そのため、コードは例を挙げるなら、ES6から互換性のあるバージョンのJavaScriptに移行する必要があります。CSSについても同様ですが、JoomlaはSASSを使用しています。これはブラウザが理解できるようにネイティブCSSに変換されます。デベロッパー環境を設定することの欠点はもう少し複雑ですが、ツールによってコーディングもより便利になります。ウォッチャーとブラウザの自動再読み込みのおかげで、リアルタイムで変更を確認することができます。
PHP
composer install を実行するだけで十分です。これにより、composer.lockファイルに保存されているPHP依存関係がインストールされます。これを何度でも行うことができます。これは、composer.lockファイルが変更されたときにのみ新しいパッケージをインストールします。 composer update は実行しないでください。これにより、すべてのパッケージが新しいバージョンに更新され、composer.lockファイルが更新されます。
メモ:Composerで指定されているプラットフォーム要件を無視するには、--ignore-platform-reqs オプションを指定して composer install を実行する必要があります。 つまり、PHPのLDAP拡張がインストールされていない場合です。
Node/npm スクリプト
Node.jsには、NPMというパッケージマネージャが付属しています(何らかの点で、Composerと同じです)。NPMには run コマンドがあり、私たちはあなたの人生を楽にするスクリプトをいくつか用意しています。リポジトリのルートのコマンドを実行する必要があります。
JavaScriptファイルを適切なフォーマットにコンパイルして翻訳し、縮小されたファイルを作成します
これは build:css コマンドと同じですが、変更を監視し、更新されたファイルを自動的に構築します。
これにより、JavaScriptファイルのシンタックスチェックが行われます。
npm run test
これは他のJavaScriptテスト一式を実行します。
This will run a JavaScript testing suite.
Possible Issues
When running composer install you can run into these errors
Problem 1
- Installation request for joomla/ldap 2.0.0-beta -> satisfiable by joomla/ldap[2.0.0-beta].
- joomla/ldap 2.0.0-beta requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
Problem 2
- Installation request for symfony/ldap v5.1.5 -> satisfiable by symfony/ldap[v5.1.5].
- symfony/ldap v5.1.5 requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
The solution is to run the composer install with the --ignore-platform-reqs option to ignore platform requirements specified in Composer. That is, if you do not have PHP's LDAP extension installed.
composer install --ignore-platform-reqs
If you receive a login error such as shown below, delete the administrator/cache/autoload_psr4.php file.