2012-08-14 7 views
40

Tôi đang cố gắng triển khai lại dự án Symfony 2.1x mà tôi đang thực hiện và app_dev.php không thành công vì nó có thể Không tìm thấy app/bootstrap.php.cache. Tập tin này được bỏ qua từ kho git của dự án bởi vì tôi đã sử dụng Symfony2 của khuyên .gitignore file:Khắc phục sự cố "require_once (../ bootstrap.php.cache): không mở được luồng: Không có tệp hoặc thư mục"

# .gitignore 
/app/bootstrap* 

Tôi thích hợp trong suy nghĩ rằng app/bootstrap.php.cache được tạo ra trong quá trình $ php composer.phar install? Nếu đây là trường hợp sau đó tôi sẽ bao gồm cho bạn của tôi 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" 
    } 
} 

Làm thế nào tôi có thể tạo ra bootstrap.php.cache?

+2

Trước hết bạn nên kiểm tra xem bạn có quyền thích hợp cho bạn các file và thư mục. –

+0

Tệp bộ nhớ cache được giao với symfony. Bạn đã kiểm tra thư mục ứng dụng của mình chưa? Bạn có thể xóa nó? Các đường dẫn trong app_dev.php có trỏ đến đúng thư mục không? Ứng dụng/bảng điều khiển có hoạt động không? – Cerad

+0

Tôi đã xóa nội dung của thư mục và sau đó cố gắng triển khai lại dự án từ kho lưu trữ git của nó trở lại vào nó. Nếu 'bootstrap.php.cache' không có nghĩa là nằm trong repo thì nó sẽ được bổ sung trở lại dự án sau khi triển khai từ git như thế nào? Tôi vẫn cho rằng nó được thực hiện trong quá trình cài đặt nhà soạn nhạc nhưng nếu ai đó biết rõ hơn thì hãy khai sáng cho tôi. – jcroll

Trả lời

74

Chỉ cần vào dự án của bạn và tạo ra nó với nhà soạn nhạc như

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

đây là câu trả lời cần được chấp nhận IMHO –

+36

Chỉ cần chờ một phút trước khi chạy lệnh này: Bạn có thực sự muốn * cập nhật * nhà cung cấp của mình không? Lệnh 'composer.phar install' sẽ tạo ra tệp bootstrap.php.cache bị thiếu mà bạn đang tìm kiếm và sẽ không sửa đổi các phiên bản của nhà cung cấp của bạn. – Ronan

+2

Bạn có thể muốn 'composer update --lock' vì nó kích hoạt post-step, nhưng không thực sự cập nhật bất kỳ phụ thuộc nào. – conny

4

Bạn đã sao chép post-install-cmdpost-updated-cmd trong khi bạn nên thêm tập lệnh MopaBootstrapBundle vào các khóa hiện có. Thử composer.json sau và chạy lại 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

Điều này chắc chắn là một phần của vấn đề và tôi cảm ơn bạn vì điều đó. – jcroll

0

Bạn chỉ cần chạy

php composer.phar install