首页 > 解决方案 > 如何使用作曲家安装 fpoirotte/cryptal?

问题描述

我无法安装https://packagist.org/packages/fpoirotte/cryptal。根据 packagist.org,我应该可以composer require fpoirotte/cryptal通过 CLI 进行操作,但每当我尝试这样做时,都会出现以下错误:

  [InvalidArgumentException]
  Could not find package fpoirotte/cryptal.

  Did you mean one of these?
      fpoirotte/cryptal
      fpoirotte/cryptal-hash
      fpoirotte/cryptal-sodium
      fpoirotte/cryptal-mcrypt
      fpoirotte/cryptal-openssl


require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...

我可以毫无问题地安装其他作曲家包。就是这个有问题。。

标签: phpcomposer-php

解决方案


作曲家的默认最低稳定性是“稳定”。

文档

"minimum-stability" (root-only):这定义了通过稳定性过滤包的默认行为。这默认是稳定的,所以如果你依赖一个开发包,你应该在你的文件中指定它以避免意外。

另一方面,您尝试安装的包只有一个“master”分支,没有版本标签,所以它被认为是一个“dev”依赖项。

您必须选择安装此软件包:

编辑您的 composer.json 以包括:

"minimum-stability": "dev",

虽然这会改变您对整个项目的最低稳定性要求,但它可能并不理想。

需要特定版本

如果你这样做composer require fpoirotte/cryptal:master-dev,你将能够安装这个包,保持你的最低稳定性设置为stable.


我不知道您正在运行什么版本的作曲家,但可能值得更新它。我的版本出现的错误更加明确:

[无效参数异常]

找不到与您的最低稳定性(稳定)匹配的软件包 fpoirotte/cryptal 版本。要求它具有明确的版本约束,以允许其所需的稳定性。


推荐阅读