安装后 Laravel 文件夹中没有 vendor/autoload.php 文件

Posted

技术标签:

【中文标题】安装后 Laravel 文件夹中没有 vendor/autoload.php 文件【英文标题】:No vendor/autoload.php file in Laravel folder after installation 【发布时间】:2018-09-28 20:19:35 【问题描述】:

我在 Debian 上,我在 XAMPP 的 htdocs 文件夹中安装了 Laravel 5: sudo composer create-project --prefer-dist laravel/laravel laravel5.

然后我使用 sudo /opt/lampp/lampp start 启动了我的 Apache 服务器。

然后,我去了这个地址:http://localhost/laravel5/public

但是我收到了这个错误:

警告:需要(/opt/lampp/htdocs/laravel5/public/../vendor/autoload.php):无法打开流:Aucun fichier ou dossier de ce type in /opt/lampp/htdocs/laravel5/第 24 行的 public/index.php

致命错误:require(): 无法打开所需的 '/opt/lampp/htdocs/laravel5/public/../vendor/autoload.php' (include_path='.:/opt/lampp/lib/php')在 /opt/lampp/htdocs/laravel5/public/index.php 第 24 行

确实,laravel5 文件夹中没有 vendor/autoload.php 文件。这是这个文件夹的树:

laravel5
|-app
| |-...
|-artisan
|-bootstrap
|-composer.json
|-config
| |-...
|-database
| |-...
|-package.json
|-phpunit.xml
|-public
| |-...
|-package.json 
|-readme.md
|-resources
| |-...
|-routes
| |-...
|-server.php
|-storage
| |-...
|-tests
| |-...
|-webpack.mic.js

我做错了什么?

感谢您的帮助。

【问题讨论】:

所有composer依赖都安装了吗,有vendor/autoload.php文件存在吗? 没有,其实public文件夹里只有这几个文件:css(包含app.js的文件夹)、favicon.ico、index.php、js(包含app.js的文件夹)、 robots.txt、web.config 那么你必须发出composer install 命令。编辑:不在公共目录中。在应用程序的根目录中。它是public的一个父目录。 是的,我改变了我的第一篇文章。我会尝试重新安装它。再次感谢您。 【参考方案1】:

XAMPP 默认以nobody:nogroup 运行,但您与您的用户一起运行了composer。

你可以的

sudo chown -R nobody:nogroup /opt/lampp/htdocs/laravel5

更改用户和组。

【讨论】:

感谢您的回答。我有执行此命令的特定位置吗?我在/opt/lampp/htdocs/laravel5 试过,但没有用。如果没有sudo,我写的 2 个命令将无法执行。 你也应该在这里使用 sudo。我编辑了答案。启动服务器需要 sudo,因为您没有将它作为服务运行,并且您可能没有正确的权限来执行 /opt/lampp/lampp。您可以按照此答案中的说明解决此问题:askubuntu.com/a/870115 再次感谢您,但我认为这不是权限问题,因为 PHP 运行良好。我应该提到的事实是公用文件夹中确实没有vendor/autoload.php 文件,这让我很生气,因为我不知道为什么它没有正确安装。我在第一篇文章中添加了文件夹的树。 composer install了吗?这是一个奇怪的问题,我知道,但由于没有供应商文件夹,看起来它没有在 create-project 上运行。此时我只需将文档根设置为 /home/myuser/xampp 并编辑 xampp 配置以运行为 myuser:myuser 对不起,我只是错过了一些 php 扩展。我安装了包 php7.0-xml 并重新安装了 Laravel,它工作得更好了,http://localhost/laravel5/public 显示了一些东西,但这是一个“UnexpectedValueException”(流或文件“/opt/lampp/htdocs/test-laravel/storage/logs /laravel.log")【参考方案2】:

您缺少供应商目录。在您的项目目录composer install 中运行此命令。

【讨论】:

【参考方案3】:

这必须像文档中那样工作。请阅读要求。大部分情况是php版本不支持安装的laravel版本。

【讨论】:

【参考方案4】:

安装composer,可以在google中搜索composer, 然后你可能需要重启你的电脑, 并在命令 promot 中转到您的 laravel 文件夹并运行 composer install 命令。它将为您创建供应商文件夹和所有其他必需的依赖项

【讨论】:

以上是关于安装后 Laravel 文件夹中没有 vendor/autoload.php 文件的主要内容,如果未能解决你的问题,请参考以下文章

有没有一个地方可以在一个地方获取 laravel `vendor` 文件夹?

laravel中引入composer安装在vendor中的第三方应用

安装laravel时确保 /.composer/vendor/bin 在系统路径中啥意思

Laravel 不创建文件夹 vendor

composer安装laravel框架时未生成Vendor解决办法

composer安装laravel框架时未生成Vendor解决办法