【问题标题】:Composer dependency constraintComposer 依赖约束
【发布时间】:2014-07-11 10:17:36
【问题描述】:

是否有可能让composer仅在PHP版本低于给定版本时才安装包。

https://github.com/ircmaxell/password_compat

"ircmaxell/password-compat": "dev-master"

我发现这个包很有用,因为我有一个在 PHP 5.4 上运行的网络服务器,我需要 password_* 函数,这些函数只有 >= PHP 5.5 可用。

【问题讨论】:

    标签: php composer-php


    【解决方案1】:

    是的,有。您可以在packagist website 上找到详细信息,但基本上,包/依赖项应使用此要求定义:

    {
        "name": "ircmaxell/password-compat",
        "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
        "require": {
            "php": "<5.5.*",
            "phpunit/phpunit": "4.*"
        }
    }
    

    如您所见,我已将"php": "&lt;5.5.*" 添加到包的要求中。您可以将此要求添加到您自己的 composer.json 文件中,方法是将依赖项添加到 composer.json 文件中的 repositories 数组,然后在此处添加要求:

    {
        "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/ircmaxell/password_compat",
            "require": {
                "php": "<5.5.*",
            }
        }]
    }
    

    类似的东西,我只安装了 php5.5,所以我无法对此进行测试……但仔细阅读文档,我很确定这是可能的。

    【讨论】:

    • @Ellias Van Ootegem 这个包的要求不应该是:php: &lt;=5.5
    • @stixx:你是对的,除了它应该是"php": "&lt;5.5.*",因为 5.5 很好
    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多