2012-08-14 16 views
40

Sto cercando di ridistribuire un progetto Symfony 2.1x su cui sto lavorando e app_dev.php non funziona perché può trovo lo app/bootstrap.php.cache. Questo file viene omesso dalla repository git del progetto perché ho usato Symfony2 di raccomandare .gitignore di file:Risoluzione dei problemi "require_once (../ bootstrap.php.cache): impossibile aprire lo stream: Nessun file o directory"

# .gitignore 
/app/bootstrap* 

Ho ragione nel pensare che app/bootstrap.php.cache viene generato durante il processo di $ php composer.phar install? Se questo è il caso allora io includo per voi il mio composer.json:

// composer.json 
{ 
    "name": "symfony/framework-standard-edition", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.1.*", 
     "doctrine/orm": "2.2.*", 
     "doctrine/doctrine-bundle": "dev-master", 
     "twig/extensions": "dev-master", 
     "symfony/assetic-bundle": "dev-master", 
     "symfony/swiftmailer-bundle": "dev-master", 
     "symfony/monolog-bundle": "dev-master", 
     "sensio/distribution-bundle": "dev-master", 
     "sensio/framework-extra-bundle": "dev-master", 
     "sensio/generator-bundle": "dev-master", 
     "jms/security-extra-bundle": "1.1.*", 
     "jms/di-extra-bundle": "1.0.*", 
     "ddeboer/guzzle-bundle": "dev-master", 
     "mopa/bootstrap-bundle": "dev-master", 
     "twitter/bootstrap": "master", 
     "knplabs/knp-paginator-bundle": "dev-master", 
     "knplabs/knp-menu-bundle": "dev-master", 
     "craue/formflow-bundle": "dev-master" 
    }, 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "version": "master", 
       "name": "twitter/bootstrap", 
       "source": { 
        "url": "https://github.com/twitter/bootstrap.git", 
        "type": "git", 
        "reference": "master" 
       }, 
       "dist": { 
        "url": "https://github.com/twitter/bootstrap/zipball/master", 
        "type": "zip" 
       } 
      } 
     } 
    ], 
    "scripts": { 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ], 
     "post-install-cmd": [ 
      "Mopa\\Bundle\\BootstrapBundle\\Composer\\ScriptHandler::postInstallSymlinkTwitterBootstrap" 
     ], 
     "post-update-cmd": [ 
      "Mopa\\Bundle\\BootstrapBundle\\Composer\\ScriptHandler::postInstallSymlinkTwitterBootstrap" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "minimum-stability": "dev", 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web" 
    } 
} 

Come si genera bootstrap.php.cache?

+2

Prima di tutto si dovrebbe verificare se si dispone delle autorizzazioni giusto per te file e cartelle. –

+0

Il file cache viene fornito con symfony. Hai controllato la directory dell'app? L'hai forse cancellato? I percorsi in app_dev.php puntano alla directory corretta? L'app/console funziona? – Cerad

+0

Ho eliminato il contenuto della directory e poi ho tentato di ridistribuire il progetto dal suo repository git in esso. Se 'bootstrap.php.cache' non è pensato per essere nel repository, come viene aggiunto a un progetto dopo la distribuzione da git? Suppongo ancora che sia fatto nel processo di installazione del compositore, ma se qualcuno lo sa meglio per favore illuminami. – jcroll

risposta

74

Basta andare al vostro progetto e generarlo con il compositore come

php /path/to/composer/composer.phar install 
+4

questa è la risposta che dovrebbe essere accettata IMHO –

+36

Basta attendere un minuto prima di eseguire questo comando: Vuoi veramente * aggiornare * i tuoi fornitori? Il comando 'composer.phar install' creerà il file bootstrap.php.cache mancante che stai cercando e non modificherà le versioni dei tuoi fornitori. – Ronan

+2

Probabilmente vorrai 'compiler update --lock' dato che attiva il post-step, ma NON aggiorna effettivamente alcuna dipendenza. – conny

4

Hai duplicato post-install-cmd e post-updated-cmd mentre dovresti aver aggiunto gli script MopaBootstrapBundle alle chiavi esistenti. Provate il seguente composer.json e re-run php composer.phar install

{ 
    "name": "symfony/framework-standard-edition", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.1.*", 
     "doctrine/orm": "2.2.*", 
     "doctrine/doctrine-bundle": "dev-master", 
     "twig/extensions": "dev-master", 
     "symfony/assetic-bundle": "dev-master", 
     "symfony/swiftmailer-bundle": "dev-master", 
     "symfony/monolog-bundle": "dev-master", 
     "sensio/distribution-bundle": "dev-master", 
     "sensio/framework-extra-bundle": "dev-master", 
     "sensio/generator-bundle": "dev-master", 
     "jms/security-extra-bundle": "1.1.*", 
     "jms/di-extra-bundle": "1.0.*", 
     "ddeboer/guzzle-bundle": "dev-master", 
     "mopa/bootstrap-bundle": "dev-master", 
     "twitter/bootstrap": "master", 
     "knplabs/knp-paginator-bundle": "dev-master", 
     "knplabs/knp-menu-bundle": "dev-master", 
     "craue/formflow-bundle": "dev-master" 
    }, 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "version": "master", 
       "name": "twitter/bootstrap", 
       "source": { 
        "url": "https://github.com/twitter/bootstrap.git", 
        "type": "git", 
        "reference": "master" 
       }, 
       "dist": { 
        "url": "https://github.com/twitter/bootstrap/zipball/master", 
        "type": "zip" 
       } 
      } 
     } 
    ], 
    "scripts": { 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Mopa\\Bundle\\BootstrapBundle\\Composer\\ScriptHandler::postInstallSymlinkTwitterBootstrap" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Mopa\\Bundle\\BootstrapBundle\\Composer\\ScriptHandler::postInstallSymlinkTwitterBootstrap" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "minimum-stability": "dev", 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web" 
    } 
} 
+0

Questo era sicuramente parte del problema e ti ringrazio per questo. – jcroll

0

Hai solo bisogno di eseguire

php composer.phar install 
Problemi correlati