Composer自定义程序包错误:已跳过分支开发,未定义索引:名称

Jea*_*uet 5 git package composer-php

我正在尝试加载从远程git存储库制作的一个小程序包,但是无论我做什么,我仍然会遇到相同的错误。

这是我正在运行的本地作曲家的代码:

{
"require": {
    "kdyby/fake-session": "^2.0",
    "monolog/monolog": "^1.19",
},

"repositories": [
    {
        "type": "git",
        "url": "http://xxxx/master/Core.git" }
],

"config": 
    {
        "secure-http": false
    }
}
Run Code Online (Sandbox Code Playgroud)

这是远程composer.json:

{
"repositories": [
    {
        "type": "package",
        "package": {
            "name": "master/core",
            "version": "dev-master",
            "source": {
                "url": "http://xxxx/master/Core.git",
                "type": "git",
                "reference": "origin/develop"
            }
        }
    }
],
"require": {
    "master/core": "dev-master"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制台中的日志:

   $ composer require master/Core
   Reading composer.json of http://xxxx/master/Core.git (develop)
   Skipped branch develop, Undefined index: name

   [Composer\Repository\InvalidRepositoryException]
   No valid composer.json was found in any branch or tag of http://xxxx/master/Core.git, could not load a package from it.
Run Code Online (Sandbox Code Playgroud)

请注意,我正在尝试从developer分支获取文件,并且我猜它正在到达composer.json,因为它表示存在错误。

存储库的所有者是“ master”,这就是为什么有master / core,而与master分支无关的原因。

我发现了许多有关未定义索引版本的问题,但未找到未定义索引名称的有效解决方案。我尝试了带有Internet上的示例/修复程序的许多版本的远程作曲家文件,但均无效果。

我的文件中肯定有一个明显的问题,或者我对作曲家没有了解。谢谢你的帮助。

编辑:解决了我的问题,我错在哪一方拥有哪个文件。

它正在使用本地composer.json:

{
"repositories": [
    {
        "type": "package",
        "package": {
            "name": "master/core",
            "version": "dev",
            "source": {
                "url": "http://xxxx/master/Core.git",
                "type": "git",
                "reference": "develop"
            }
        }
    }
],
"require": {
    "master/core": "dev"
    }
}
Run Code Online (Sandbox Code Playgroud)

和远程composer.json:

{
"name": "master/Core"
}
Run Code Online (Sandbox Code Playgroud)

注意:即使使用本地(和远程)本地文件,也必须使composer.json处于git状态,否则,如果使用“ type”:“ git”则它将不起作用。

Abo*_*ouR 2

您必须创建composer.json文件

它至少应该包含这些信息:

{
    "name": "your-vendor-name/package-name",
    "description": "A short description of what your package does"
}
Run Code Online (Sandbox Code Playgroud)

参考: https: //packagist.org/