【发布时间】:2023-04-04 15:00:02
【问题描述】:
我的作曲家突然停止工作。我什至没有添加新包,只是想检查是否有任何更新:
PS C:\data\www\project.dev> composer self-update
You are already using composer version 1.3.2 (stable channel).
PS C:\data\www\project.dev> composer update
> php artisan clear-compiled
The compiled class file has been removed.
Loading composer repositories with package information
Updating dependencies (including require-dev)
[UnexpectedValueException]
Could not parse version constraint >=~2: Invalid version string "~2"
update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock]...
到目前为止我发现的所有解决方案都建议更新作曲家并检查composer.json,但那里不应该有任何问题:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.3.*",
"edofre/laravel-fullcalendar-scheduler": "^1.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "5.0",
"symfony/css-selector": "2.8.*|3.0.*",
"symfony/dom-crawler": "2.8.*|3.0.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"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"
]
},
"config": {
"preferred-install": "dist"
}
}
如您所见,里面并没有什么特别之处。
【问题讨论】:
-
您的 composer.lock 文件是否有可能包含 ~2.0 参考?
-
@JoelHinz 锁定文件应该在
update上被覆盖,不是吗?您的需求包是否有可能在其需求中包含~2? -
没有锁文件,我已经删除了。但是一个包的依赖是可能的。不知道如何检查。
-
@Peh 啊,当然,我只看到了自我更新。我的错!希望你能找到错误,Dainis。
-
@DainisAbols 尝试用
"require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "symfony/css-selector": "3.1.*", "symfony/dom-crawler": "3.1.*" },替换你需要的开发部分
标签: php laravel laravel-5 composer-php