作曲家自动加载出错了,这是怎么回事?



作曲家版本 1.6.3

我只执行:

composer require "hieu-le/active:~3.5"

我安装了一个扩展包,但事实是出乎意料的,这里是错误的:

vagrant@homestead:~/Projects/cunzai$ composer require "hieu-le/active:~3.5"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing hieu-le/active (3.5.1): Downloading (100%)
Writing lock file
Generating optimized autoload files
Fatal error: Uncaught TypeError: Argument 1 passed to ComposerAutoloadClassLoader::addClassMap() must be of the type array, integer given, called in phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php on line 760 and defined in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php:92
(1)phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(760): ComposerAutoloadClassLoader->addClassMap(1)
(2)phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(303): ComposerAutoloadAutoloadGenerator->getStaticFile('c4e4dd9af67a9f1...','/home/vagrant/P...', '/home/vagrant/P...', '/home/vagrant/P...', 50600)
(3)phar:///usr/local/bin/composer/src/Composer/Installer.php(302): ComposerAutoloadAutoloadGenerator->dump(Object(ComposerConfig),Object(ComposerRepositoryInstalledFilesystemRepository),Object(ComposerPackageRootPackage), Object(ComposerInstallerInstallationManager), '/home/vagrant/P...', true)
(4)phar:///usr/local/bin/composer/src/ in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php on line 92

错误后,我还尝试安装另一个扩展包。事实也是错误的。所以我确定它不是一个扩展包。Laravel框架和作曲家不能成为错误的原因,但我想不出一个地方。我希望有针对此问题的感激解决方案。

作曲家.json:

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"hieu-le/active": "~3.5",
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"mews/captcha": "~2.0"
},
"require-dev": {
"barryvdh/laravel-debugbar": "~3.1",
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "~1.0",
"phpunit/phpunit": "~6.0",
"symfony/thanks": "^1.0"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
"extra": {
"laravel": {
"dont-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"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
}

最终对我有用的是:

composer.json中,将 streams-platform 的版本更改为"anomaly/streams-platform": "1.3.219",,并将所有这些行添加到"require"部分的底部:

"teamtnt/laravel-scout-tntsearch-driver": "3.0.6",
"teamtnt/tntsearch": "1.3.1",
"michelf/php-markdown": "^1.8"

然后运行:

composer dump-autoload

我在Windows 10上的Virtualbox上使用Laravel Homestead Vagrant。

我使用 Git Bash 交替地直接在 Windows 上的项目文件夹中运行composer update,然后在使用 SSH 进入 Ubuntu 虚拟机中的同一项目文件夹后

运行。我的家园.yaml 文件使用type: "nfs".

相关内容

最新更新