簡體   English   中英

部署失敗:打開失敗需要'/var/app/ondeck/vendor/autoload.php'

[英]Deployment failure: Failed opening required '/var/app/ondeck/vendor/autoload.php'

我遇到了一個我真的不明白的問題。 我已經為我的 Laravel 應用程序開發了一個本地作曲家 package (基於一個沒有完全滿足我需要的現有應用程序),現在我無法再成功地將我的應用程序部署到我的 AWS Elastic Beanstalk 實例。

我相信我的新本地作曲家 package 已正確創建:我采用了原始作曲家 package,將其移動到我的 Laravel 應用程序根目錄中名為“packages”的新文件夾中。 我向我的composer.json添加了一個指向它的repositories條目:

"repositories": [
    {
        "type": "path",
        "url": "packages/konsulting/justgiving-api-sdk"
    }
]

然后我運行composer require konsulting/justgiving-api-sdk @dev並且本地 package 安裝成功。 它在本地工作,沒有問題。

但是現在部署到 EB,我收到以下錯誤:

Activity execution failed, because: PHP Warning: require(/var/app/ondeck/vendor/autoload.php): failed to open stream: No such file or directory in /var/app/ondeck/artisan on line 18 PHP Fatal error : require(): 在 /var/app/ondeck 中打開所需的 '/var/app/ondeck/vendor/autoload.php' (include_path='.:/usr/share/pear7:/usr/share/php') 失敗/工匠在第 18 行
(ElasticBeanstalk::ExternalInvocationError)

什么可能導致此問題? 從字面上看,除了這個作曲家 package (在本地工作)是不同的。

我試過composer dumpautoloadcomposer update

問題很簡單,但令人困惑。 我只需要在repositories {}中禁用符號鏈接。

"options": {
    "symlink": false
}

現在工作正常!

當您在作曲家文件的開發中進行了大量更改並且您設置部署的環境在作曲家上沒有更新時,我遇到了同樣的問題。 首先通過在部署之前更新作曲家來更新您的部署機器。 這將解決您的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM