【问题标题】:Composer vcs install on GitoliteComposer vcs 安装在 Gitolite 上
【发布时间】:2016-05-18 18:17:43
【问题描述】:

我用 composer.json 在我的 gitolite 服务器上创建了一个库

{
    "name": "package/package-name",
    "type": "library",
    "description": "Wine Extension for Wordpress",
    "keywords": ["Page Management"],
    "license": "MIT",
    "authors": [
        {
            "name": "Author",
            "email": "author@email.com"
        }
    ],
    "require": {
        "php": ">=5.3.2"
    },
    "autoload": {
      "psr-4": { "Prefix\\PackageName\\": "src/" }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "master"
        }
    }
}

然后我想将它们包含在其他项目中,所以我像这样添加到我的存储库中。

[
    "repositories": [
        {
            "type": "vcs",
            "url": "git@my-server.com:Library/PackageName"
        }
    ],
    "require": {
        "package/package-name": "master",
    },
]

我在 github 上的另一个库中有完全相同的 composer.json 文件。然而在 Github 上它可以工作,但在 gitolite 上不行。我想知道这是否与 Gitolite 有关,如果 Gitolite 不支持它。有人可以向我解释吗?在 github 上,Packagist 上也没有该包。所以我认为这应该不是问题。

我从 Gitolite 得到的错误:

Your requirements could not be resolved to an installable set of packages.

Problem 1
    - The requested package package/package-name could not be found in any version, there may be a typo in the package name.

Potential causes:
    - A typo in the package name
    - The package is not available in a stable-enough version according to your minimum-stability setting
    see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.

“dev-master”或“master”都不起作用。

但如果我需要这样的包,它可以工作。

{
  "type": "package",
  "package": {
    "name": "package/package-name",
    "version": "dev",
    "type": "package",
    "source": {
        "url": "git@my-server.com:Library/PackageName",
        "type": "git",
        "reference": "master"
    },
    "require": {
        "php": ">=5.3.2",
        "leafo/scssphp": "^0.3.2"
    },
    "autoload": {
      "psr-0": { "Prefix\\PackageName\\": "src/" }
    }
  }
}

有人知道如何解决这个问题吗?我想用vcs。会更容易管理。谢谢!

我不认为稳定版本像大多数人那样存在问题。 Using private Composer VCS Git repo Composer VCS repository not loading dependancies Optimize multiple Composer VCS repository paths

【问题讨论】:

    标签: git version-control composer-php gitolite


    【解决方案1】:

    如果你想使用一个分支,你必须在它的名字前加上dev-,所以它是dev-master,而不是master

    还请注意,您必须明确提及您的软件所在的所有存储库,否则间接包含将不起作用。

    Composer 只知道来自 packagist.org 和根 composer.json 文件中的存储库的包。包含一个包含 Gitolite 中另一个包的包是行不通的。

    【讨论】:

    • 感谢您的反馈,就像我在帖子中所说的那样,我确实尝试了“dev-master”或“master”。我的服务器上有与 github 上完全相同的 composer.json。当我运行 composer install 时,它找到了 composer.json 文件。我在Github上试过的也是私有仓库,所以不可能在packagist中。
    • 我真是个白痴,我发现了问题,我犯了一个错误,需要一个与根 composer.json 文件不同的包名。我为根 json 写了“包”而不是“扩展”。
    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2011-09-18
    • 2017-09-04
    • 2023-03-16
    相关资源
    最近更新 更多