【问题标题】:Composer from local repos InvalidArgumentException来自本地仓库的作曲家 InvalidArgumentException
【发布时间】:2023-03-09 20:21:01
【问题描述】:

我正在尝试基于此示例 Oxid 6 模块创建一个模块
https://github.com/linslin/oxid6-example-module
我已将其更改并克隆到
https://github.com/v3ritas1989/gg_oxid6-example-module
以及进入我的本地模块文件夹
..modules/compname/modulename

所以一开始我想更改模块名称、子模块文件夹名称和给定的命名空间

modules/companyname/modulename
Path Example:
modules/linslin/oxid6-example-module

但是,如果我尝试安装我的模块 通过作曲家

composer require compname/gg_oxid6-example-module:dev-master
(for local folder)
composer require v3ritas1989/gg_oxid6-example-module:dev-master
(for git)

我收到错误消息:

[InvalidArgumentException] 找不到匹配的版本 包 compname/gg_oxid6-example-module。检查包裹 拼写,您的版本约束以及该软件包在 与您的最低稳定性(稳定)相匹配的稳定性。

我不明白为什么

composer require linslin/oxid6-example-module:dev-master

即使我删除了本地文件夹 linslin
也能正常工作 我猜它是从 github 拉出来的?

但是为什么这不适用于我更改的模块和我的 github 存储库?
我只做了搜索替换
模块名称
公司名称
命名空间名称

问题:
我假设作曲家只是找不到我的仓库或本地..
所以

  1. 我如何做 composer require 以只检查我的本地 文件夹?
  2. 为什么在我的 github 上也找不到?

【问题讨论】:

    标签: composer-php oxid


    【解决方案1】:

    您需要在您的主 composer.json 文件中注册存储库,如下所述: https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository 或在https://packagist.org/ 中注册您的包裹,以便自动检测到它。 还有其他注册仓库的方式,比如定义为本地仓库:https://getcomposer.org/doc/05-repositories.md#path

    【讨论】:

    • 问题是,如果未注册,作曲家不会像从 github 那样从本地文件夹获取版本,因此您必须输入“版本”:“1.0.0”,进入模块composer.json
    猜你喜欢
    • 2013-08-12
    • 1970-01-01
    • 2013-12-25
    • 2015-12-06
    • 2014-08-16
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 2016-07-06
    相关资源
    最近更新 更多