为什么 Composer 不使用我的存储库分支来创建包?

mic*_*ael 3 git github composer-php

我关注了互联网上的信息和这篇文章(Change Composer git source for a package),但我仍然没有运气让作曲家使用我的存储库分支。这里有什么问题吗?

{
"name": "sociablegroup/reeb",
"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/michael-bender/laravel-doctrine.git"
  }
],
"require": {
    "laravel/framework": "5.0.*",
    "beatswitch/lock": "0.1.*",
    "beatswitch/lock-laravel": "0.2.*",
    "laravel/socialite": "~2.0",
    "league/tactician": "0.5.*",
    "doctrine/migrations":"@dev",
    "atrauzzi/laravel-doctrine": "dev-master"
},
"require-dev": {
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1",
    "laracasts/generators": "~1.1"
},
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},
"autoload-dev": {
    "classmap": [
        "tests/TestCase.php"
    ]
},
"scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ]
},
"config": {
    "preferred-install": "dist"
}
}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用 SSH url 而不是 HTTPS。我尝试过使用 --prefer-source 。我似乎无法将其从我的存储库中提取出来。

Jen*_*och 5

问题 1 - 使用私有 Github 存储库

好的,您正在尝试atrauzzi/laravel-doctrine使用您自己的私有包“重载”该包michael-bender/laravel-doctrine。您的软件包有 1.0.0 版本,但未解析为一组稳定的软件包。

根据您的最低稳定性设置,该软件包没有足够稳定的版本

您可以添加到的"minimum-stability": "dev"部分。configcomposer.json

然后跑composer update

然后你得到

[217.1MB/57.13s]   - Installing atrauzzi/laravel-doctrine (dev-master 906ccf0)
[217.0MB/57.13s] Downloading https://api.github.com/repos/michael-bender/laravel-doctrine/zipball/906ccf03e9740fb89503427f6bf9c4f019eb33f8
Run Code Online (Sandbox Code Playgroud)

问题 2 - 无效的类映射条目

还有一个问题:

[144.4MB/60.26s] Generating autoload files

  [RuntimeException]
  Could not scan for classes inside "database" which does not appear to be a file nor a folder
Run Code Online (Sandbox Code Playgroud)

为了摆脱这个异常,删除这个

"classmap": [
    "database"
],
Run Code Online (Sandbox Code Playgroud)

来自autoload的部分composer.json


复制

我使用以下方法composer.json重现并解决了该问题:

{
    "name": "sociablegroup/reeb",
    "repositories": [
      {
        "type": "git",
        "url": "https://github.com/michael-bender/laravel-doctrine.git"
      }
    ],
    "require": {
        "atrauzzi/laravel-doctrine": "dev-master",
        "doctrine/migrations": "dev-master"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用了以下命令:composer install -vvv --profile --prefer-source

这获取了您的存储库 - 查看您的最后一次提交:

在此输入图像描述

截屏:composer.lock screeny 作曲家.locl