Установка Репозитория Satis Composer

Я действительно Новичок в Satis, и я нашел этот учебник: https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md.

но я все еще не могу начать. Устанавливается ли Satis на основе проекта? Если да, значит ли это, что я должен устанавливать Satis в каждом новом проекте?

Я пытался бежать composer.phar create-project composer/satis --stability=dev из папки, и я получаю сообщение об ошибке сказав, что композитор.фар не нашел. Итак, я пытаюсь с composer create-project composer/satis --stability=dev и он создает новую папку называется satis внутри папки, которую я запускаю composer.

Итак, как я могу установить Satis и использовать его? Вы знаете какой-нибудь видеоурок, который научит нас этому? Я не могу найти их на Youtube.

спасибо.

2 ответов


после загрузки satis вам необходимо создать конфигурационный JSON-файл с местоположением в направлении ваших репозиториев. Называй как хочешь. После этого выполните команду bin/satis для создания веб-вьюера. Что-то вроде

php bin/satis build mi-config.json web/

Если последняя команда работает, вы правильно настроили свой сервер satis. Затем все, что вам нужно сделать, это включить источник ваших репозиториев в основной композитор.файл json:

"repositories": [
    {
        "type": "composer",
        "url": "http://localhost/satis/web"
    }
],
"require": {
    "my/package: "*"
},

что-то я заметил в тебе вопрос:

Я попытался запустить composer.phar create-проект ...

Я получаю сообщение об ошибке сказав, что композитор.фар не нашел. Итак, я пытаюсь с composer create-project...

вам не нужно устанавливать composer на каждый проект на вашем сервере, поскольку он работает для каждого проекта, пока вы перемещаете его на общий маршрут (как говорится в документации aka /usr/local/bin/composer - без расширения phar). Просто имейте в виду, что первый пример если у вас есть композитор в корне проекта (с полным именем и расширением), а второй пытается использовать композитор, расположенный в вашем пользовательском/локальном пути.

это не видео, но надеюсь, что это помогает С уважением


но я все еще не могу начать. Устанавливается ли Satis на основе проекта? Если да, значит ли это, что я должен устанавливать Satis в каждом новом проекте?

нет, Сатис-это ваш личный packagist-как хранилище. Внутри него вы храните набор определений для того, где взять пакеты, которые вы хотите разместить сами, вместо того, чтобы получать их от packagist.

Я попытался запустить composer.phar create-композитор проекта/satis -- стабильность=dev из папки, и я получаю сообщение об ошибке, говорящее, что композитор.фар не нашел.

команда была бы PHP ' composer.фар' в случае композитор не был на твоем пути (https://getcomposer.org/doc/00-intro.md#globally)

Итак, я пытаюсь с composer create-project composer / satis --stability=dev, и он создает новую папку под названием satis внутри папки, которую я запускаю composer.

хорошо, это означает, что у вас есть переехал композитор.phar to / usr / local/bin / composer, и вы можете запустить его глобально (это означает, что вы можете запустить его из каждого каталога в вашей системе), просто запустив "composer"

"логическая" пошаговая инструкция о том, как запустить satis, должна прояснить, что я думаю, что вас смущает:

фон

вы хотите иметь satis, потому что вы хотите обслуживать некоторые проекты из своего собственного репозитория (git или другой, я сделаю свой пример с git) вместо вытягивание его из РЕПО, определенного внутри службы, используемой по умолчанию composer, т. е. packagist. Возможно, вы хотите внести изменения в исходный пакет и не хотите их перезаписывать при наличии обновлений пакета. Следовательно, вам нужен промежуточный шаг, вы можете объединить свои изменения с изменениями вверх по течению.

Краткий Композитор Потока Работы

Packagist не содержит исходный код пакетов, он содержит набор определения для каждого пакета (композитора.JSON file), и среди этого набора, определение, для которого РЕПО пакет доступен из.

при запуске composer,

  • он читает определения в packagist
  • он загружает пакет из определенного публичного РЕПО (github, git, svn и т. д.)
  • он компилирует его после других определений, найденных в сам пакет

Краткий Композитор / Satis workflow

С satis подача: - Композитору поручено использовать определения в satis - он читает определения, найденные в satis - он загружает пакет из публичного РЕПО, который определен в satis - он компилирует его, следуя другим определениям, найденным в самом пакете

шаг за шагом создание полезного композитора/Satis / Git Setup

следуя из вышеизложенного, пошаговая инструкция есть:

  1. установите composer глобально (для простоты, и у вас уже есть)
  2. в папке, которая станет доступна из интернета, установите satis
  3. где-то в вашей системе (проще всего в домашнем местоположении выделенного пользователя git, это может быть пользователь "satis"), клонировать git repo для пакета, который вы хотите изменить и обслуживать из своего собственного git repo
  4. добавить satis.файл json внутри вашего РЕПО satis с определениями для вашего проект
  5. из того же места запустите 'php bin/satis build satis.JSON root/ (я предпочитаю "root/" вместо стандартного " web/") и установите documentRoot вашего веб-сервера в " path/to/root/"

Шаг #4 выше, например.:

{
"name": "My Repo",
"homepage": "http://satis.mydomain.com",
"repositories": [
    {
        "type": "git",
        "url": "satis@satis.mydomain.com:<packagename>"
    }
],

"require-all": true
}

Теперь у вас есть: композитор, git repo и satis repo (ваш собственный упаковщик). Все они находятся в разных и независимых местах.

шаг за шагом, используя Satis и Git от Композитор!--26-->

создайте каталог, в который вы хотите установить пакет Как и по инструкциям композитора, добавьте в этот каталог композитора.файл json. На этот раз, хотя пакет является вашей измененной версией, поэтому композитор.например, файл json будет выглядеть так:

{
    "name": "<yourname>/<packagename>",
    "repositories": [
        {
            "type": "composer",
            "url": "http://satis.yourdomain.com"
        },
        {"packagist": true},
        { "type": "composer", "url": "https://packagist.org" }
    ],
    "version": "dev-master",
    "require": {
        "<originalvendorname>/<packagename>": "dev-master"
    },
    "minimum-stability": "dev"
   }

замените все, что хотите, в то время как originalvendorname/packagename является полным именем пакета. В этом случае вы создаете свою собственную версию пакета, извлеченного из репозитория git определяется в вашем РЕПО satis. То, что там не найдено (возможные зависимости), будет извлечено из исходного репозитория Git каждой зависимости, определенного в packagist.org РЕПО.

когда вы внесли больше изменений в свою собственную версию пакета и сделали еще несколько коммитов, вам нужно обновить Satis repo. Перестройте его, как на шаге №5 выше.

таким образом, он будет ссылаться на последнюю фиксацию вашей главной ветви (с префиксом "dev -" в satis)

надеюсь, что это помогает. Пошаговые команды находятся на странице, на которую вы ссылались в начале своего сообщения.