我有一个具有一些依赖项的项目,我想安装另一个项目,但我想让其他项目保持原样。所以我编辑了 composer.json ,但如果我运行 composer install ,我会得到以下输出:

Installing dependencies from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
Your requirements could not be resolved to an installable set of packages.

Problem 1
    - laravel/framework dev-master requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - laravel/framework dev-master requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - Installation request for laravel/framework dev-master -> satisfiable by laravel/framework dev-master.

首先,我确实安装了 mcrypt,所以我不知道为什么它会在那里提示。

那么,我该如何安装这个新的依赖项呢?

我的 composer.json:
{
    "require": {

        "opauth/opauth": "*",
        "opauth/facebook": "*",
        "opauth/google": "*",
        "opauth/twitter": "*",

        "imagine/Imagine": "dev-develop",

        "laravel/framework": "4.*",
        "loic-sharma/profiler": "dev-master"
    },
    "autoload": {
        "classmap": [
            "app/libraries",
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/tests/TestCase.php"
        ]
    },
    "minimum-stability": "dev"
}

最佳答案

要安装一个新的软件包,你有两个选择:

  • 使用 require 命令,只需运行:
    composer require new/package
    

    Composer 将猜测要使用的最佳版本约束,安装包,并将其添加到 composer.lock

    您还可以通过运行来指定显式版本约束:
    composer require new/package ~2.5
    

  • -要么-
  • 使用 update 命令,手动将新包添加到 composer.json ,然后运行:
    composer update new/package
    

  • 如果 Composer 提示说“您的要求无法解析为一组可安装的软件包。”,您可以通过传递标志 --with-dependencies 来解决此问题。这会将您尝试安装/更新的包的所有依赖项(但没有其他依赖项)列入白名单。

    关于 Laravel 和 mcrypt 的提问者问题:检查它是否在您的 CLI php.ini 中正确启用。如果 php -m 没有列出 mcrypt 那么它就丢失了。

    重要提示: 使用 new/package 时不要忘记指定 composer update !省略该参数将导致所有依赖项以及 composer.lock 被更新。

    关于composer-php - Composer : how can I install another dependency without updating old ones?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15212381/

    10-12 20:00
    查看更多