Композитор создать проект из частного репо

У меня есть частный проект, размещенный в бит-ведре. У меня есть настройка SSH. Есть ли способ, которым я могу использовать команду php composer create-project vendor/name path так же, как если бы она была в Packagist?

Ответы

Ответ 1

Ну, есть разные способы сделать это - использование репозитория композитора, который используется вместо packagist.org, который является более централизованным способом управления вашими частными композиционными пакетами. Другой метод - использовать композитор .json, который включает ваши частные репозитории в вашей среде, для каждой среды.

Первая

Composer позволяет использовать частные репозитории для создания проектов.

Так же...

composer create-project vendor/name path --repository-url=http://repo.yourcomposerrepo.com

Так как вы не отправляете частный пакет в packagist. Для этого URL-адреса требуется как минимум package.json файл, вы можете использовать satis или свой собственный packagist, если вы хотите более динамичное решение для package.json.

Метод использования composer.json применяется к уже созданным проектам, которые будут использовать пользовательские репозитории для частных пакетов, а не для создания новых проектов из частных репозиториев. Используйте следующий метод, если вы хотите спуститься по аналогичному маршруту.

Второй

Настройте свой приватный репозиторий на config.json глобально для вашей среды. Тогда, как обычно..

composer create-project vendor/name path

Ответ 2

Да, Композитор позволяет добавлять частные проекты как "репозитории" в ваш файл composer.json. Поэтому вы можете включить частные проекты в другой проект.

Он поддерживает GitHub и Bitbucket (а также SVN и Mercurial).

Вам нужно изменить файл composer.json, чтобы выглядеть примерно так:

{
    "repositories": [ {
        "type": "package",
        "package": {
            "name": "TheShiftExchange/test",
            "version": "1.0.0",
            "source": {
                "url": "https://github.com/TheShiftExchange/test.git",
                "type": "git",
                "reference": "master"
              }
         }
    }],
    "require": {
        "laravel/framework": "4.0.*",
        "TheShiftExchange/test": "1.0.*"
    },
}

Ответ 3

У нас есть Toran Proxy (https://toranproxy.com/), установленный как частный пакетик, и для этого мы можем создавать проекты, используя команду ниже

composer create-project vendor/framework --repository-url=http://your-toran-repo-url/repo/private/ --stability=dev project name

Стабильность, которую мы используем, если проект не помечен или вы ищете версию с короткими границами.

--stability=dev

Ответ 4

Поскольку этот пост имеет некоторую тягу, я думал, что добавлю другое решение, которое я использую. Открыть ~/.bash_profile

и добавьте что-то вроде

function _cmsname {
    composer create-project vendor/package --repository-url=http://private.repo.url.co.uk/ --stability=dev "$1"
}
alias cmsname=_cmsname

и просто тип cmsname projectname в терминале.

Ответ 5

То, как я привык:

composer create-project vendor/name path --repository="{\"url\": \"https://bitbucket.org/user/project.git\", \"type\": \"vcs\"}" --stability=dev --remove-vcs

Ссылка: https://getcomposer.org/doc/03-cli.md#create-project