【发布时间】:2017-02-14 11:44:45
【问题描述】:
我将我的 laravel 安装从我的远程服务器拉到我的本地机器上,现在想执行“composer install”来安装所有必需的包。整个事情过去很顺利。但现在我收到此错误:
- laravel/framework v5.1.17 需要 symfony/dom-crawler 2.7.* -> 可以满足 symfony/dom-crawler[2.7.x-dev, v2.7.0, v2.7.0-BETA1, v2.7.0-BETA2、v2.7.1、v2.7.10、v2.7.11、v2.7.12、v2.7.13、v2.7.14、 v2.7.15、v2.7.16、v2.7.17、v2.7.18、v2.7.19、v2.7.2、v2.7.3、v2.7.4、 v2.7.5、v2.7.6、v2.7.7、v2.7.8、v2.7.9] 但这些与您的冲突 要求或最低稳定性。
我的 composer.json 看起来像这样:
> {
> "name": "laravel/laravel",
> "description": "The Laravel Framework.",
> "keywords": ["framework", "laravel"],
> "license": "MIT",
> "type": "project",
> "require": {
> "php": ">=5.5.9",
> "laravel/framework": "5.2.*",
> "league/fractal": "^0.12.0",
> "pda/pheanstalk": "^3.1",
> "witty/laravel-push-notification": "dev-master",
> "illuminate/html": "^5.0",
> "way/generators": "^3.0",
> "laracasts/generators": "^1.1"
> },
> "require-dev": {
> "fzaninotto/faker": "~1.4",
> "mockery/mockery": "0.9.*",
> "phpunit/phpunit": "~4.0",
> "phpspec/phpspec": "~2.1",
> "symfony/dom-crawler": "~3.0"
> },
> "autoload": {
> "classmap": [
> "database"
> ],
> "psr-4": {
> "App\\": "app/"
> }
> },
> "autoload-dev": {
> "classmap": [
> "tests/TestCase.php"
> ]
> },
> "scripts": {
> "post-install-cmd": [
> "php artisan clear-compiled",
> "php artisan optimize"
> ],
> "pre-update-cmd": [
> "php artisan clear-compiled"
> ],
> "post-update-cmd": [
> "php artisan optimize"
> ],
> "post-root-package-install": [
> "php -r \"copy('.env.example', '.env');\""
> ],
> "post-create-project-cmd": [
> "php artisan key:generate"
> ]
> },
> "config": {
> "preferred-install": "dist"
> } }
我没有更改任何代码,只是对我的计算机进行了全新安装。
当我尝试更改为 dom-crawler ~2.7 时出现此错误:
> Problem 1
> - Conclusion: don't install laravel/framework v5.2.45
> - Conclusion: don't install laravel/framework v5.2.44
> - Conclusion: don't install laravel/framework v5.2.43
> - Conclusion: don't install laravel/framework v5.2.42
> - Conclusion: don't install laravel/framework 5.2.41
> - Conclusion: don't install laravel/framework v5.2.40
> - Conclusion: don't install laravel/framework v5.2.39
> - Conclusion: don't install laravel/framework v5.2.38
> - Conclusion: don't install laravel/framework v5.2.37
> - Conclusion: don't install laravel/framework v5.2.36
> - Conclusion: don't install laravel/framework v5.2.35
> - Conclusion: don't install laravel/framework v5.2.34
> - Conclusion: don't install laravel/framework v5.2.33
> - Conclusion: don't install laravel/framework v5.2.32
> - Conclusion: don't install laravel/framework v5.2.31
> - Conclusion: don't install laravel/framework v5.2.30
> - Conclusion: don't install laravel/framework v5.2.29
> - Conclusion: don't install laravel/framework v5.2.28
> - Conclusion: don't install laravel/framework v5.2.27
> - Conclusion: don't install laravel/framework v5.2.26
> - Conclusion: don't install laravel/framework v5.2.25
> - Conclusion: don't install laravel/framework v5.2.24
> - Conclusion: don't install laravel/framework v5.2.23
> - Conclusion: don't install laravel/framework v5.2.22
> - Conclusion: don't install laravel/framework v5.2.21
> - Conclusion: don't install laravel/framework v5.2.20
> - Conclusion: don't install laravel/framework v5.2.19
> - Conclusion: don't install laravel/framework v5.2.18
> - Conclusion: don't install laravel/framework v5.2.17
> - Conclusion: don't install laravel/framework v5.2.16
> - Conclusion: don't install laravel/framework v5.2.15
> - Conclusion: don't install laravel/framework v5.2.14
> - Conclusion: don't install laravel/framework v5.2.13
> - Conclusion: don't install laravel/framework v5.2.12
> - Conclusion: don't install laravel/framework v5.2.11
> - Conclusion: don't install laravel/framework v5.2.10
> - Conclusion: don't install laravel/framework v5.2.9
> - Conclusion: don't install laravel/framework v5.2.8
> - Conclusion: don't install laravel/framework v5.2.7
> - Conclusion: don't install laravel/framework v5.2.6
> - Conclusion: don't install laravel/framework v5.2.5
> - Conclusion: don't install laravel/framework v5.2.4
> - Conclusion: don't install laravel/framework v5.2.3
> - Conclusion: don't install laravel/framework v5.2.2
> - Conclusion: don't install laravel/framework v5.2.1
> - witty/laravel-push-notification dev-master requires illuminate/support 5.0.* | 5.1.* -> satisfiable by
> laravel/framework[v5.1.17], illuminate/support[v5.0.0, v5.0.22,
> v5.0.25, v5.0.26, v5.0.28, v5.0.33, v5.0.4, v5.1.1, v5.1.13, v5.1.16,
> v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.41,
> v5.1.6, v5.1.8].
> - witty/laravel-push-notification dev-master requires illuminate/support 5.0.* | 5.1.* -> satisfiable by
> laravel/framework[v5.1.17], illuminate/support[v5.0.0, v5.0.22,
> v5.0.25, v5.0.26, v5.0.28, v5.0.33, v5.0.4, v5.1.1, v5.1.13, v5.1.16,
> v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.41,
> v5.1.6, v5.1.8].
> - Can only install one of: laravel/framework[v5.2.0, v5.1.17].
> - don't install illuminate/support v5.0.0|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.0.22|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.0.25|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.0.26|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.0.28|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.0.33|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.0.4|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.1|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.13|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.16|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.2|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.20|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.22|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.25|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.28|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.30|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.31|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.41|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.6|don't install laravel/framework v5.2.0
> - don't install illuminate/support v5.1.8|don't install laravel/framework v5.2.0
> - Installation request for laravel/framework 5.2.* -> satisfiable by laravel/framework[5.2.41, v5.2.0, v5.2.1, v5.2.10, v5.2.11,
> v5.2.12, v5.2.13, v5.2.14, v5.2.15, v5.2.16, v5.2.17, v5.2.18,
> v5.2.19, v5.2.2, v5.2.20, v5.2.21, v5.2.22, v5.2.23, v5.2.24, v5.2.25,
> v5.2.26, v5.2.27, v5.2.28, v5.2.29, v5.2.3, v5.2.30, v5.2.31, v5.2.32,
> v5.2.33, v5.2.34, v5.2.35, v5.2.36, v5.2.37, v5.2.38, v5.2.39, v5.2.4,
> v5.2.40, v5.2.42, v5.2.43, v5.2.44, v5.2.45, v5.2.5, v5.2.6, v5.2.7,
> v5.2.8, v5.2.9].
> - Installation request for witty/laravel-push-notification dev-master -> satisfiable by
> witty/laravel-push-notification[dev-master].
【问题讨论】:
-
Laravel 在 2.7 版中需要 Symfony DomCrawler 组件,但您在开发版的 3.0 版中安装它。可能在远程服务器上你没有安装开发库。
-
你运行作曲家更新了吗?当您尝试将 "symfony/dom-crawler": "~3.0" 更改为 "symfony/dom-crawler": "~2.7" 时会发生什么?
-
刚试过~2.7。然后在帖子的更新中出现上面提到的错误
-
来自 Laravel 5.2
composer.json:"symfony/dom-crawler": "2.8.*|3.0.*"。安装 Laravel 后,你就安装了 DomCrawler,所以你应该从 composer.json 中删除 dom crawler。 -
你有
composer.lock文件吗?现在,当您在 json 文件中指定 Laravel 5.2 时,我看到 composer 正在尝试安装 Laravel 5.1。