Gha*_*thi 3 php laravel composer-php
我正在使用 MacO。并有一个 Laravel 项目。跑步composer update产生
Class 'PackageVersions\Versions' not found
Run Code Online (Sandbox Code Playgroud)
运行composer install同样的事情。即使php artisan没有任何其他东西也会产生相同的结果。唯一没有产生错误的是composer update --no-scripts
我的php版本是7.4,Laravel版本是5.8。Composer版本是2.3.2
这是更多来自错误产生之前的日志composer update
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In base.php line 145:
Class 'PackageVersions\Versions' not found
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
Run Code Online (Sandbox Code Playgroud)
这是我的作曲家包的列表,需要参数
"require": {
"php": "^7.1.3",
"doctrine/dbal": "^2.9",
"eduardokum/laravel-mail-auto-embed": "^1.0",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "^6.3",
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0"
},
Run Code Online (Sandbox Code Playgroud)
PackageVersions\Versions已被弃用,至少根据Composer 的临时包来看是这样。
没有为您安装依赖项的具体原因不是特别容易解释,甚至也不是很容易理解,但很可能您的某个包存在依赖项问题。您可能正在更新软件包,并且依赖项已随新版本而更改。不过,为了简洁起见,我将重点关注解决方案。
Composer 现在附带Composer\InstalledVersions提供与已弃用的软件包相同的功能。
尽管它没有被列为您的软件包之一,但我会根据错误所在的文件及其所在行来猜测您正在使用 Backpack for Laravel。无论如何,解决方案只是将错误中指出的文件替换\PackageVersions\Versions为。对于背包来说是.\Composer\InstalledVersionsbase.phpconfig/backpack/base.php
前:
[
//...
'cachebusting_string' => \PackageVersions\Versions::getVersion('backpack/crud'),
//...
]
Run Code Online (Sandbox Code Playgroud)
后:
[
//...
'cachebusting_string' => \Composer\InstalledVersions::getVersion('backpack/crud'),
//...
]
Run Code Online (Sandbox Code Playgroud)
注意:Composer\InstalledVersions只要您使用 Composer 自动加载器(99.999% 的 Composer 用户都是如此),默认情况下就可用。了解更多:https ://getcomposer.org/doc/07-runtime.md#installed-versions
| 归档时间: |
|
| 查看次数: |
4598 次 |
| 最近记录: |