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

作曲家:有没有办法指定包存储库的首选项顺序?

章威
2023-03-14

我正在使用PackageGist和firegento上的包vendorName/moduleName(Magento扩展)。

在我的composer.json文件中,我有:

"require": {
   ....................,
   ...................,
  "vendorName/moduleName":"*"
},
"repositories": [
  ......................,
  ....................,
  {
    "type": "composer",
    "url": "https://packages.firegento.com"
  }
],

当Composer被下载并预先配置为使用packagist.org时,vendorName/moduleName将从packagist加载。

我想强制从firegento加载vendorName/moduleName

我试图补充:

"repositories": [
  {
    "packagist": false
  },

但之后,composer将不再在PackageGist中搜索:这不是我想要的(因为PackageGist中也有有用的包…)

我想我可以用

composer config --global --unset repositories.packagist

然后呢

composer config --global repositories.firegento composer https://packages.firegento.com
composer config --global repositories.packagist composer https://packagist.org

以我喜欢的顺序添加存储库(我不确定它是否有效…)。

有没有更好/更简单的方法来实现我的目标?比起运行全局配置命令,我更喜欢编辑composer.json,但这可能是不可能的。

共有1个答案

裴宜春
2023-03-14

我想我在这里找到了答案:

最终,存储库候选只根据它们的定义顺序进行评估。Packagist在内部被添加为定义的最后一个(尽管您可以禁用它),以确保本地副本始终是首选的,如果解析器设置允许的话。

这意味着如果我在我的composer.json中定义firegentorepo,那么composer将在packagist之前在firegento中加载包vendorName/moduleName。我认为这是相反的行为;我错了。

另一个有用的评论如下:

存储库定义的顺序很重要。但composer仍然会搜索所有存储库,因为稍后定义的存储库可能具有您所需的软件包的最新版本。

 类似资料:
  • 遇到作曲家的问题。我有一个主要的项目,我正在和一些我建立的小库一起工作,我想更容易地在我的项目之间共享。它们还没有准备好发布,所以我不想把它们添加到打包器中,但是当我需要1而需要另一个时,它会出错,除非我在我的主程序上也发布了那个自定义存储库composer.json 另外,第三级需求不能解决打包库 Main Project composer.json: 配置库:当在SimpleTable中运行作

  • 问题内容: 假设我有一个PHP函数foo: 有什么办法只能指定第二个可选参数? 例: 问题答案: PHP本身不支持命名参数作为函数。但是,有一些方法可以解决此问题: 使用数组作为该函数的唯一参数。然后,您可以从数组中提取值。这允许在数组中使用命名参数。 如果要根据上下文允许可选数量的参数,则可以使用func_num_args和func_get_args而不是在函数定义中指定有效参数。然后,根据参数

  • 这和这个问题很相似,但它是以作曲家而不是梨来表现的。 我的相关作曲家。json行: 在供应商/作曲家中创建此include_paths.php文件: 运行“php vendor/bin/phpunit”会触发错误: PHPUnit_框架_异常:PHP警告:require_once(File/Iterator/Autoload.PHP):无法打开流:在/path/to/project/vendor/

  • 问题内容: 是否可以通过量角器或WebDriver物理关闭选项卡? 我问是因为虽然我知道如何以编程方式切换选项卡,但它不会将活动选项卡置于前台。我不能总是说出在SauceLabs上进行的E2E测试中发生了什么,因为当我查看屏幕投射时,它显示的是我离开的选项卡,而不是活动的选项卡。 我会错误地解决吗? 问题答案: 您可以尝试以下方法: 切换到新打开的标签页。 关闭当前窗口(在本例中为新选项卡)。 切

  • 我试图从本地SQLite数据库中检索值。表的条目按“itemnumber ASC”排序。 当使用多个条件进行查询时,我希望所选条目按我的where条件的顺序排序。 数据库: 查询: 结果: 但它需要像这样:

  • 我尝试了以下代码,但出现了错误-spring web ResponseEntity无法序列化。 org.springframework.data.redis.serializer.SerializationException:无法序列化;嵌套异常org.springframework.core.serializer.support.SerializationFailedException:无法使用