【问题标题】:Laravel composer install failedLaravel 作曲家安装失败
【发布时间】: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。

标签: php laravel


【解决方案1】:

witty/laravel-push-notification 太旧,无法在 5.2 版中安装 Laravel。 laravel-push-notification 的依赖项之一是版本 "5.0.* | 5.1.*" 中的 illuminate/support

您正在尝试安装 Laravel 5.2,但该库需要 Laravel 5.1 才能工作。

附:下次也尽量不要删除composer.lock,有时可以保存项目。

【讨论】:

    猜你喜欢
    • 2018-06-22
    • 2021-11-03
    • 2017-09-15
    • 2021-10-05
    • 2013-06-02
    • 2018-12-28
    • 1970-01-01
    • 2014-03-04
    相关资源
    最近更新 更多