当前位置: 首页 > 知识库问答 >
问题:

即使依赖项版本号在范围内,composer也拒绝安装程序包

萧鹏云
2023-03-14

我的包依赖于照明/支持~4.1

我正在尝试在一个Laravel项目中安装此软件包,该项目的composer.json文件要求“Laravel/framework”:“4.1.*”

但当我运行composer require并尝试安装此软件包时,每次都会遇到以下错误:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove laravel/framework v4.1.29
    - adityamenon/postcodes-io-laravel 1.0.0 requires illuminate/support 4.2.* -> satisfiable by illuminate/support[v4.2.1, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9].
    - adityamenon/postcodes-io-laravel 1.0.1 requires illuminate/support 4.2.* -> satisfiable by illuminate/support[v4.2.1, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9].
    - don't install illuminate/support v4.2.1|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.2|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.3|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.4|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.5|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.6|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.7|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.8|don't install laravel/framework v4.1.29
    - don't install illuminate/support v4.2.9|don't install laravel/framework v4.1.29
    - Installation request for laravel/framework == 4.1.29.0 -> satisfiable by laravel/framework[v4.1.29].
    - Installation request for adityamenon/postcodes-io-laravel ~1.0 -> satisfiable by adityamenon/postcodes-io-laravel[1.0.0, 1.0.1].


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

我做错了什么?

共有2个答案

慕容劲
2023-03-14

看来你是那个包裹的作者。

我的软件包依赖于照明/支持~4.1。

这对于所有发布的版本1.0.0和1.0.1都是错误的——这些版本依赖于照明/支持4.2。*.

只有master分支依赖于~4.1-如果您想发布它,只需将当前master分支标记为版本1.0.2或1.1.0(取决于是否只修复了错误或更改了接口-甚至可能是不兼容的版本2.0.0)。

然后,您可以更新您的其他软件,将您的软件包与Laravel 4.1一起使用。

尹光辉
2023-03-14

您安装的adityameon/postcodes io laravel~1.0,正如我们在错误消息的最后一项中看到的:

adityamenon/邮政编码io laravel~1.0的安装请求-

这意味着1.0.0或1.0.1(也显示在本项中)。查看PackageGist,1.0.0和1.0.1都需要照明/支持4.2.*(显示在错误消息的第二项和第三项中)。您可以安装laravel/framework4.1.*。由于4.1.*不在4.2.*的范围内(程序包所需的版本),因此它将失败。

您可能想要安装dev版本,您可以使用@dev标记它:

{
    ...
    "require": {
        "adityamenon/postcodes-io-laravel": "dev-master"
    }
}

顺便说一句,真正依靠devmaster不是一个好主意。您应该始终尝试将主分支别名为特定的dev版本。

 类似资料:
  • 我已经创建了作曲家包,composer.json是 现在,当我安装 包,我需要那个作曲家安装所有需要的包: 但它没有安装它。 我尝试作曲家更新,作曲家安装。有人能帮忙吗? C项目omposer.json看起来像 我能做的是,作曲家自动安装所有软件包所需的依赖项????谢谢你的建议。

  • 首先,有一些相关的帖子并不真正适合我的问题。 Composer不会安装依赖项 还有一些。 我有一个Symfony项目,其中包含一些私人包。这些是风投公司参考的: 这和预期的一样。但是,私有包yyy引用了另一个私有包(我们称之为sub-yyy),它也由package composer.json文件中的类型vcs引用。 如果我运行作曲家安装失败与消息: 问题1-yyyy的安装请求- 潜在原因: 包名中

  • 我有一个带有父POM的多模块maven项目,它定义了一些常见的依赖项,作为依赖项管理的一部分,如下所示: 我添加了这个版本格式,以避免在创建核心库的新版本时永久更新POM中的版本。 我的问题是,在每个maven构建过程中,maven将检查所有存储库中的新版本,以获得以下日志条目: 我的问题是,我可以每月检查一次吗? 如何避免maven试图检查我自己对maven中央存储库的依赖?

  • 问题内容: 我想在我的小型项目中添加一个测试(请注意,我从代码中删除了一些位并更改了程序包名称,因此,如果您看到与此有关的任何错误,则可能不是;)): (我也尝试从TestCase进行扩展以删除静态导入,但这没有帮助) 运行后,向我显示一个找不到org.junit的错误: 我的pom.xml看起来像这样: mvn依赖项:tree: mvn版本: 请注意,我不是Java专家也不是maven专家,只是

  • Maven插件(maven-compiler-plugin: 3.8.1和maven-surefire-plugin: 3.0.0-M3)在运行mvn清洁包时似乎正在下载同一依赖项(plexus-utils)的多个版本,即使我在依赖项中指定了plexus-utils的最新版本。这不会导致任何错误,但3.0.16之前的任何版本的plexus-utils都容易受到命令注入的影响。有没有办法阻止这种情况

  • cp/var/ww/html/config.inc.php.dist/var/ww/html/config.inc.php 未安装。 DockerFile: