安装后 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 在系统路径中啥意思