FuelPHP「No composer autoloader found.」エラー

 FuelPHPの初期設定で次のようなエラーが画面に現れたときにいったいどうすればよいか.

No composer autoloader found. Please run composer to install the FuelPHP framework dependencies first!

 このエラーは「oil」ファイルの54行目にある.

if ( ! file_exists(COREPATH.'classes'.DIRECTORY_SEPARATOR.'autoloader.php'))
{
  die("No composer autoloader found. Please run composer to install the FuelPHP framework dependencies first!\n\n");
}

 このif文に「COREPATH」という定数があるが,これは45行目で定義している.

define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);

 つまりは,COREPATHのパスが通っていないのである.35行目のAPPPATH,40行目のPKGPATH,45行目のCOREPATHに,oilファイルとの相対パスを書くのである.

/**
 * Path to the application directory.
 */
define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);

/**
 * Path to the default packages directory.
 */
define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);

/**
 * The path to the framework core.
 */
define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);

 もう少し詳しくすると,oilファイルが下図のようにfuelフォルダと同じ階層にあればエラーは出ないはずなので,oilファイルに手を入れる必要はないが,oilファイルがひとつ下の階層にあるなら「../fuel/app」などと書く.

 エラーが出る原因は,oilファイル中の3つの定数の記述にあるfuel/appfuel/packagesfuel/coreのパスとoilファイルのパスが合っていないことにある.oilファイルを都合の良いところに移動したら,oilファイルのパスを設定しよう.