Добавить репозиторий github в мой проект composer - PullRequest
0 голосов
/ 26 января 2020

Мне нравится создавать новый composer проект. Я включу код, которого нет на упаковке. Это хранилище github. Конкретно мне нравится включать этот выпуск.

https://github.com/joomla/joomla-cms/releases/tag/4.0.0-alpha12

Я ожидал с этим composer.json получить релиз 4.0.0-alpha12:

{
    "name": "vendor/my_joomla_website",
    "description": "Testing to install joomla with extensions via composer",
    "type": "project",
    "license": "GNU",
    "authors": [
        {
            "name": "vendor",
            "email": "myemail"
        }
    ],
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/joomla/joomla-cms.git"
        }
    ],
    "require": {
        "joomla/joomla-cms": "dev-4.0-dev#4.0.0-alpha12"
    }
}

Но команда comoser install не выполнилась до конца. Это мое сообщение

 composer install
Loading composer repositories with package information


  [Symfony\Component\Process\Exception\ProcessTimedOutException]                                                    
  The process "git clone --mirror 'https://github.com/joomla/joomla-cms.git' '/home/astrid/.composer/cache/vcs/htt  
  ps---github.com-joomla-joomla-cms.git/'" exceeded the timeout of 300 seconds.                                     


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

В конце концов у меня есть каталог поставщика в папке моего проекта. Содержимое репозитория github отсутствует.

Что мне нужно сделать, если я хочу добавить код - размещенный на github - в мой проект Composer?

Обновление, которое я только что изменил мои composer.json до

{
    "name": "astrid/my_joomla_website",
    "description": "Testing to install joomla with extensions via composer",
    "type": "project",
    "license": "GNU",
    "authors": [
        {
            "name": "vendor",
            "email": "myemail"
        }
    ],
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "joomla/joomla-cms",
                "version": "4.0.0-alpha12",
                "source": {
                    "type": "git",
                    "url": "git://github.com/joomla/joomla-cms.git",
                    "reference": "4.0-dev"
                },
                "dist": {
                    "url": "https://github.com/joomla/joomla-cms/releases/download/4.0.0-alpha12/Joomla_4.0.0-alpha12-Alpha-Full_Package.zip",
                    "type": "zip"
                }
            }
        }
    ],
    "require": {
        "joomla/joomla-cms": "dev-4.0-dev#4.0.0-alpha12"
    }
}

Теперь я получаю эту ошибку.

composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package joomla/joomla-cms dev-4.0-dev#4.0.0-alpha12 exists as joomla/joomla-cms[4.0.0-alpha12] but these are rejected by your constraint.

Что я делаю не так? Я еще не назначил никаких зависимостей или ограничений.

1 Ответ

0 голосов
/ 30 января 2020

Я не уверен, что именно вызывает ваше исключение "отклонено вашим ограничением", но я предполагаю, что это потому, что вы используете требование версии branch#ref, которое, как говорят docs , не является активно поддерживается. Я думаю, что вы могли бы просто использовать тег 4.0.0-alpha12, поскольку тег не привязан к ветви.

Чтобы исправить вашу первую проблему, измените тип хранилища на vcs (или github). Composer обнаружит, что репозиторий является Github-репозиторием, а затем использует Github API для получения правильной версии пакета. Репозиторий joomla-cms выглядит действительно большим, поэтому для клонирования может потребоваться больше времени, чем разрешенные 300 секунд.

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/joomla/joomla-cms.git"
        }
    ]

Для второй проблемы установите свою версию на 4.0.0-alpha12:

    "require": {
        "joomla/joomla-cms": "4.0.0-alpha12"
    }

Для версии joomla-cms 4.0.0-alpha12 требуется версия dev joomla/application (joomla/application[2.0.x-dev]), поэтому вам придется установить минимальную стабильность вашего пакета на dev:

    "minimum-stability": "dev",
...