【问题标题】:Class 'League\Flysystem\AwsS3v3\AwsS3Adapter' not found (Laravel + Heroku)找不到类“League\Flysystem\AwsS3v3\AwsS3Adapter”(Laravel + Heroku)
【发布时间】:2018-01-19 01:01:19
【问题描述】:

将我在 heroku 中的 laravel 5.4 应用程序与 aws s3 连接,以保存和显示我使用仪表板上传的图像。

在本地我上传和查看图像没有问题,即使这些都存储在我制作的存储桶中。但是当我在 heroku 中设置 aws 以在那里进行测试时,我收到错误:Class 'League\Flysystem\AwsS3v3\AwsS3Adapter'

我已经从composer删除并重新安装了包,我不知道为什么错误没有出现在我的本地环境中。

非常感谢。

【问题讨论】:

  • 如何将应用部署到 Heroku?是否在部署期间甚至使用composer install 安装了依赖项,或者vendor 目录的内容是否与生产同步?
  • 可以分享一下你composer.json的内容吗?
  • 已经一年多了,没找到正确答案lol?

标签: php amazon-web-services heroku laravel-5 amazon-s3


【解决方案1】:

根据 Laravel 文档:

https://laravel.com/docs/8.x/filesystem

你需要这个依赖

composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"

【讨论】:

    【解决方案2】:

    我解决了我的问题

    composer require guzzlehttp/psr7 "1.8.1"
    

    首先从版本 2.0.0 降级,因为 was sdk 包还不支持版本 2.0.0.. 然后

    composer require league/flysystem-aws-s3-v3 "~1.0" --update-with-all-dependencies
    

    【讨论】:

      【解决方案3】:

      我的情况有点棘手,我必须升级几个相关的依赖项才能让它运行起来。主要是我将aws/aws-sdk-php升级到了我运行时作曲家提到的版本: composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0".

      【讨论】:

        【解决方案4】:

        对于 laravel 8 使用

         composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
        

        【讨论】:

        • 为什么在 2021 年 8 月的最后一个版本是 2.1.0 时使用 v1?
        • 我用这个的时候,第二版还没有发布
        【解决方案5】:

        对我来说,我遇到了同样的问题并尝试了很多解决方案,但都没有对我有用。最后我发现flysystem-aws-s3-v2 在composer.lock 中,尽管我使用flysystem-aws-s3-v3 和命令:composer require league/flysystem-aws-s3-v3 这并没有改变composer.lock 中的任何内容,所以我所做的是我删除了vendor 文件夹和composer.lock 文件并运行 composer install 并为我解决了问题。

        【讨论】:

          【解决方案6】:

          您忘记安装所需的库

          composer require league/flysystem-aws-s3-v3
          

          祝你好运

          【讨论】:

          • 感谢您的帮助。
          • 我们使用的是 Laravel 8.34,它被锁定到 league/flysystem:^1.1,并阻止我们像上面那样使用它。幸运的是答案:stackoverflow.com/a/65002651/697579composer require league/flysystem-aws-s3-v3:"^1.0"
          • @fernandojmartin 你的解决方案对我有用,谢谢
          • @fernandojmartin 谢谢,我在找那个。
          • 我必须使用 -W 标志运行它:composer require league/flysystem-aws-s3-v3 "~1.0" -W
          【解决方案7】:

          @localheinz 当我进行部署时,我运行:composer install

          但在 heroku 中,软件包从具有 heroku 仪表板的控制台安装它们。

          但是当我想添加或删除包 league/flysystem-aws-s3-v3 时,会出现以下消息:

          未安装列出的更新包。忽略。

          所以我认为两者之间有一个缓存,因为一切对我来说都很好。

          {
          "name": "laravel/laravel",
          "description": "The Laravel Framework.",
          "keywords": ["framework", "laravel"],
          "license": "MIT",
          "type": "project",
          "require": {
              "php": ">=5.6.4",
              "barryvdh/laravel-debugbar": "^2.4",
              "fzaninotto/faker": "^1.6",
              "laravel/framework": "5.4.*",
              "laravel/socialite": "^3.0",
              "laravel/tinker": "~1.0",
              "unisharp/laravel-ckeditor": "^4.6",
              "league/flysystem-aws-s3-v3": "~1.0"
          },
          "require-dev": {
              "mockery/mockery": "0.9.*"
          },
          "autoload": {
              "classmap": [
                  "database"
              ],
              "psr-4": {
                  "App\\": "app/"
              }
          },
          "autoload-dev": {
              "psr-4": {
                  "Tests\\": "tests/"
              }
          },
          "scripts": {
              "post-root-package-install": [
                  "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
              ],
              "post-create-project-cmd": [
                  "php artisan key:generate"
              ],
              "post-install-cmd": [
                  "Illuminate\\Foundation\\ComposerScripts::postInstall",
                  "php artisan optimize"
              ],
              "post-update-cmd": [
                  "Illuminate\\Foundation\\ComposerScripts::postUpdate",
                  "php artisan optimize"
              ]           
          },
          "config": {
              "preferred-install": "dist",
              "sort-packages": true,
              "optimize-autoloader": true
          }
            }
          

          【讨论】:

            猜你喜欢
            • 2020-09-02
            • 2020-09-02
            • 2021-05-11
            • 2021-04-16
            • 2022-01-10
            • 2021-01-19
            • 2022-10-24
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多