【问题标题】:Unable to add spatie/laravel-sluggable package in laravel 5.4无法在 laravel 5.4 中添加 spatie/laravel-sluggable 包
【发布时间】:2019-07-19 18:32:29
【问题描述】:

我尝试在我的设置中添加 spatie/laravel-sluggable,但在终端中遇到了这个错误。我试图搜索这个,但没有找到任何相关的解决方案。

这是错误:

Problem 1
    - Conclusion: remove laravel/framework v5.4.36
    - Conclusion: don't install laravel/framework v5.4.36
    - spatie/laravel-sluggable 2.1.0 requires illuminate/database ~5.5.0 
      -> satisfiable by illuminate/database[v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44].
    - spatie/laravel-sluggable 2.1.5 requires illuminate/database ~5.5.0|~5.6.0|~5.7.0 
      -> satisfiable by illuminate/database[5.7.17, 5.7.18, 5.7.19, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.15, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.26, v5.7.27, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9].
    - spatie/laravel-sluggable 2.1.6 requires illuminate/database ~5.5.0|~5.6.0|~5.7.0 
      -> satisfiable by illuminate/database[5.7.17, 5.7.18, 5.7.19, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12,
    - don't install illuminate/database v5.5.0|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.16|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.17|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.2|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.28|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.33|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.34|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.35|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.36|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.37|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.39|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.40|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.41|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.43|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.5.44|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.6.0|don't install laravel/framework v5.4.36
    - don't install illuminate/database v5.6.1|don't install laravel/framework v5.4.36
    - Installation request for laravel/framework (locked at v5.4.36, required as 5.4.*) 
      -> satisfiable by laravel/framework[v5.4.36].
    - Installation request for spatie/laravel-sluggable ^2.1 
      -> satisfiable by spatie/laravel-sluggable[2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6].


Installation failed, reverting ./composer.json to its original content.

我也尝试添加illuminate/database,但也出现了同样的问题。

【问题讨论】:

    标签: php laravel laravel-5 composer-php


    【解决方案1】:

    这个包spatie/laravel-sluggable需要:

    php: >=7.0.0
    illuminate/database: ~5.5.0|~5.6.0|~5.7.0
    illuminate/support: ~5.5.0|~5.6.0|~5.7.0
    

    你不能在你的 laravel 5.4 框架中安装这个包

    如果你想使用这个(spatie/laravel-sluggable) 那么你需要 laravel 5.5 或更高版本。

    如果你有 Laravel 5.5 或更高版本,那么你可以在命令提示符下运行这个命令:

    composer require spatie/laravel-sluggable
    

    这将为您的项目生成最新版本

    【讨论】:

      【解决方案2】:

      如果你不想升级到 Laravel 5.5,你可以安装与 Laravel 5.4 兼容的 spatie/laravel-sluggable1.5.2 版本。

      composer require spatie/laravel-sluggable "^1.5"
      

      【讨论】:

      • 我决定更新 laravel,因为@pankaj 说最好更新,否则这个问题将来可能会再次发生。还是谢谢。
      【解决方案3】:

      您始终可以在其 composer.json 文件中验证包的要求。

      例如,在您的情况下,您可以在此处检查 composer.jsonhttps://github.com/spatie/laravel-sluggable/blob/master/composer.json#L18#L23

      你可以注意到这一点:

      "require": {
          "php" : ">=7.0.0",
          "illuminate/database": "~5.5.0|~5.6.0|~5.7.0",
          "illuminate/support": "~5.5.0|~5.6.0|~5.7.0"
      },
      

      这里说的是所需的最低 PHP 版本,还提到了 illuminate/databaseilluminate/support 包版本要求,即 5.55.65.7 及以上。

      这些发光包适用于 Laravel。它们是 Laravel 框架的核心包,因此它们的版本应该与您的 laravel 版本匹配。

      你不能在较新的 Laravel 版本上安装旧的发光包。

      我建议您将 Laravel 升级到 5.5 或最新版本。 Spatie 和他们的包大部分时间都是最新的,所以你最好也更新你的包。

      【讨论】:

        猜你喜欢
        • 2020-07-11
        • 2020-02-01
        • 2021-04-01
        • 2018-04-04
        • 1970-01-01
        • 2017-07-26
        • 1970-01-01
        • 2019-05-20
        • 2018-01-15
        相关资源
        最近更新 更多