我最近通过composer安装了Laravel 5。我尝试使用artisan创建一个新的控制器,我得到以下错误:

引导/ . . /供应商/ autoload.php。无法打开流:没有这样的文件或目录。“vendor”文件夹不存在。

我遗漏了什么吗?


在根项目文件夹(或php composer. exe)中运行composer install。phar安装)。


您是创建了一个新项目还是克隆了一个现有项目?

如果你克隆了一个现有的项目,运行它是非常重要的

composer install

这样,所有缺失的依赖项都将被安装。

但是如果你创建了一个新项目,你应该运行这个命令来使用composer创建一个新项目

composer create-project laravel/laravel name-of-your-project

您使用的是哪种操作系统? Windows操作系统: 进入命令提示符

设置www/{ur项目}的路径

我的:www/laravel5

然后键入以下命令:composer install

它会自动安装vendor/中的所有依赖项


原来我没有在我的php.ini中启用openssl,所以当我用composer创建我的新项目时,它是从源代码安装的。我改了主意,跑了

composer update

现在已经创建了供应商文件夹。


我也有这个错误。但上述方法都无法解决问题。所以我卸载并重新安装了作曲家。然后我做了作曲家更新。问题解决了。


只需运行以下命令,

composer update

Or

composer install

运行composer -no-scripts

composer update --no-scripts  

这将解决问题。我在Mac和Linux上尝试了这个功能。


当我更新而不是安装作曲家时,我得到了这个。


在我的情况下,我必须启用另一个扩展,即php_mbstring.dll在php.ini文件之前,它可以工作。它列在extension=php_mbstring.dll下。在php.ini文件中找到它,删除它前面的分号(;)并保存文件。

在此之后,再次在你的Laravel应用程序的根目录下运行install composer,它应该可以工作。


通过cmd进入你的项目文件夹。运行以下命令

composer update

它将安装项目中缺少的供应商文件夹和文件。

但在某些情况下,它会在cmd中给出类似“您的配置不允许连接到.....”的错误。

这是作曲家的功劳。json文件,

将“secure-http”:true修改为“secure-http”:false

但在某些情况下(就像我的情况),你可能在你的文件中找不到这样的行。为此,请执行以下操作:

change "config": {
        "preferred-install": "dist"
}

to

"config": {
    "preferred-install": "dist",
    "secure-http": false
}

并再次运行composer update命令。

希望这能解决问题。


我加上了作曲家。锁定文件到.gitignore,在提交文件到存储库错误消失后:)


我也遇到过同样的问题。出现这种情况是因为composer无法安装composer中指定的依赖项。json文件。 尝试运行

composer install 

如果这不能解决问题,请确保 安装了以下PHP模块 php-mbstring php dom

要安装此扩展,请在终端中运行以下命令

sudo apt-get install php-mbstring php-dom

一旦安装完成

尝试在项目根文件夹中运行该命令

composer install 

只需在安装项目的目录中运行此命令

composer install

使用composer而不是laravel设置一个新项目,就像这样:

composer create-project --prefer-dist laravel/laravel myProje

当新项目创建laravel要求加载供应商以自动加载库时, 我们使用composer update to

composer update

Composer是一个依赖项管理器,允许您将管理依赖项的责任委托给第三方。


在执行以下说明之前,您需要确保在您的机器上全局安装了composer; 打开你的Mac终端,执行以下命令:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

一旦全局安装了composer,在项目目录中运行以下命令:

composer install

一旦完成,更新和安装所有所需的包。


下面的步骤解决了我的问题。你可以试试

composer update --no-scripts 
composer update

您需要重新生成autoload.php文件。你可以使用dump-autoload来做到这一点,而不必通过安装或更新。

use

composer dump-autoload

在/vendor目录下再次生成autoload.php文件。


在检查php版本和大量研究后,问题是在Composer方面,所以只需运行以下命令

编译器安装——忽略平台要求


我对laravel和artisan也有同样的问题,解决方案是:

php artisan key:generate

如果你是Windows用户,你可以卸载Composer。然后安装Composer。然后安装Laravel。也许它会起作用。


这个解决方案对我很有效。原因是在应用程序中不能有供应商文件夹。

遵循以下步骤:

如果你的项目有作曲家。Json文件,删除它 然后运行 编译器需要phpspec/phpspec

该命令将供应商文件夹添加到项目中


我的问题由

composer update
composer install
php artisan key:generate

如果您有任何其他问题,您可以清除缓存和配置 清除路由缓存:

php artisan route:cache

清除视图缓存:

php artisan view:clear

清除配置缓存:

php artisan config:cache

我们得到一个错误,因为我们在我们的项目中缺少供应商文件夹,供应商目录包含我们的Composer依赖项。

需要/供应商文件夹,因为所有的包都在那里,包括Laravel使用的所有类,问题可以在以下两个步骤后解决:

composer update --no-scripts 
composer update

——no-scripts:跳过在composer.json中定义的脚本执行 composer update:这将检查项目中需要的库的新版本。如果找到了一个较新的版本,并且它与编写器中定义的版本约束兼容。Json文件,它将取代以前安装的版本。作曲家。锁文件将被更新以反映这些变化。

这两个命令,我们将在我们的项目中重新创建供应商文件夹,之后我们的项目将顺利工作。


我意识到是你的作曲家。Json文件中会有一些脚本

"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "pre-update-cmd": [
        "php artisan clear-compiled"
    ],
    "post-update-cmd": [
        "php artisan optimize"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

对我有用的方法:

"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},

删除安装后CMD帮助运行编写器安装没有任何问题。

希望这能有所帮助

干杯! !


删除vendor文件夹,执行composer install命令。100%正常工作


删除供应商,然后安装编写器


您缺少供应商文件夹,可能是其新克隆的存储库或新项目

供应商文件夹由composer二进制文件填充,该二进制文件读取composer。Json文件或系统需求和安装包在供应商文件夹下,并创建一个自动加载脚本,已全部分类

composer update

这对我来说很管用: 在安装项目之后,我打开项目的文件夹并运行这两个命令

composer update

composer require doctrine/dbal

我不知道我是否相关

我下载了laravel的Github版本,并安装了lando,但无法启动。

在lando recipe中,我必须在.lando.yml中添加php: 8.1

name: ltest1
recipe: laravel
config:
  webroot: public
  php: 8.1

and

$ lando ssh
$ composer install
$ php artisan key:generate