【问题标题】:Warning: require(/var/www/vendor/autoload.php):警告:需要(/var/www/vendor/autoload.php):
【发布时间】:2020-01-10 21:02:01
【问题描述】:

我擅长创建 API,但在设置系统时不太好,我试图学习使用 docker 设置 laravel 并指的是: https://medium.com/@shakyShane/laravel-docker-part-1-setup-for-development-e3daaefaf3c

我正确地遵循了所有步骤,但在运行中:

docker-compose exec app php artisan key:generate

我收到错误:

Warning: require(/var/www/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/artisan on line 18

Fatal error: require(): Failed opening required '/var/www/vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/artisan on line 18

我错误地认为这个问题是因为作曲家没有运行!

我的项目文件夹在桌面

我的 docker-compose.yml 是这样写的:

  # The Application
  `app:`
    `build:`
      `context: ./`
      `dockerfile: app.dockerfile`
    `working_dir: /var/www`
   `volumes:`
      `- ./:/var/www``
   ` environment:`
      `- "DB_PORT=3306"`
      `- "DB_HOST=database"`

  # The Web Server
  `web:`
    `build:`
      `context: ./`
      `dockerfile: web.dockerfile`
    `working_dir: /var/www`
    `volumes_from:`
      `- app`
    `ports:`
      `- 8080:80`

我在网上查看了其他解决方案,但我不太明白我需要怎么做。

【问题讨论】:

  • 检查您在 ./ 中的内容以及文件是否确实在 /var/www
  • @LinPy 里面什么都没有在 /var/www

标签: laravel docker ubuntu composer-php


【解决方案1】:

我认为按照网站提供的步骤操作不是一个好主意,因为

composer 图片是DEPRECATED

你必须使用here最新的一个

【讨论】:

  • 是的,我也尝试了该命令,但它给了我错误:Composer could not find a composer.json file in /app 当 composer.json 文件已经存在时。
  • 从 2017 年开始,所有步骤都已过时,请尝试关注一些较新的文章,或者正如我在 cmets 中所说的开始调试您的卷,您真正从 ./ 安装什么
  • 是的,我已经在尝试使用 PHP 7.2,它给出了已解决的 mcrypt 错误,我相信也会解决这个问题。但正如你所建议的,也会检查其他教程。
  • 我还有一个疑问,考虑我在 composer.json 中添加了一个包,我们执行命令composer update 如何为 docker app 做同样的事情!?
  • 在构建阶段你需要一个RUN 步骤。如果容器已经运行,你需要使用docker exec CONATINER COMMAND
猜你喜欢
  • 2017-03-19
  • 2014-11-25
  • 2017-04-19
  • 2020-03-04
  • 1970-01-01
  • 2019-02-01
  • 2020-01-16
  • 2016-10-20
  • 2018-05-25
相关资源
最近更新 更多