2013-11-26 88 views
3

我在我的根文件composer.json,它看起來像這樣(以下this guide後):的Yii 1.1.14與作曲家自動加載

{ 
    "repositories": [{ 
    "type":"composer", 
    "url": "http://packages.phundament.com" 
    }], 

    "require": { 
    "php": ">=5.3.2", 
    "yiisoft/yii": "1.1.*", 
    "yiiext/migrate-command": "0.7.2", 
    "thyseus/yii-user-management": "0.8" 
    }, 

    "autoload": { 
    "psr-0": { "config": "./" } 
    }, 

    "scripts": { 
     "pre-install-cmd": "config\\ComposerCallback::preInstall", 
     "post-install-cmd": "config\\ComposerCallback::postInstall", 
     "pre-update-cmd": "config\\ComposerCallback::preUpdate", 
     "post-update-cmd": "config\\ComposerCallback::postUpdate", 
     "post-package-install": ["config\\ComposerCallback::postPackageInstall"], 
     "post-package-update": ["config\\ComposerCallback::postPackageUpdate"] 
    } 
} 

我的config/console.php還包括以下內容:

'params' => array(
    'composer.callbacks' => array(
     // args for Yii command runner 
     'yiisoft/yii-install' => array('yiic', 'webapp', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'), 
     'post-update' => array('yiic', 'migrate'), 
     'post-install' => array('yiic', 'migrate'), 
    ), 
), 

我收到以下錯誤,但是,當我嘗試運行composer install

類配置\ ComposerCa llback不是自動加載的,不能調用pre-update-cmd腳本

我意識到它可能是我忘記的東西,任何幫助將不勝感激!

+0

所以在路徑'config/ComposerCallback.php'中有一個文件,它包含'namespace config; class ComposerCallback {}'? – Sven

+0

我推測這是Yii製作的,因爲指南根本沒有提到它(我第一次編寫Yii應用程序)。 –

+0

該指南有一個鏈接到演示文件內容,似乎做了一些基本的東西。我想你應該複製它。 – Sven

回答

1

看起來您使用的是早期版本的Phundament,如this one

您的作曲家回調試圖調用ComposerCallback類中的方法,在您的情況下 - 應該在<project-folder>/config

您可以從上面使用的文件,並把它放在那裏或從phundament /應用搶a more recent version和文件放入<project-folder>/src/Phundament和更新您的根composer.jsonautoloading section以匹配新的文件位置。