Рейтинг:0

Установка зависимостей локальных модулей без плагина слияния композитора

флаг in

В настоящее время у меня есть проект Drupal на основе композитора со сторонними и пользовательскими модулями. Сторонние модули управляются композитором без проблем. Но я хотел бы, чтобы мой обычай модулей для объявления их зависимостей в композитор.json в своих каталогах, а также установить их, когда я запускаю установка композитора в корне проекта.

композитор.json
веб/
  модули/
    вклад /
      адрес/  
      admin_toolbar/
      ...
    обычай/
      мой_модуль/
        композитор.json
        ...
      мой_другой_модуль/
        композитор.json

В настоящее время:

  • у меня есть Плагин слияния композитора который отлично работает по большей части, но хотел бы избежать его использования. Оно имеет неприятная привычка звонить Обновить и сбрасывать версии зависимостей, когда этого не следует делать.
  • я уже изучил Репозиторий Composer. Хотя он устанавливает зависимости моих пользовательских модулей, он также создает символические ссылки/копирует мой пользовательский модуль в веб/модули/вклад что не нужно, потому что пользовательские модули уже находятся в нужном месте в веб/модули/пользовательские.

В будущем я бы разделил эти пользовательские модули на отдельные проекты и сохранил их в своих репозиториях. Но на данный момент они все еще размещены в том же проекте, что и сайт Drupal, который я создаю.

Как установить зависимости, объявленные в композитор.json моих локальных пользовательских модулей вместе со всем остальным?

Jaypan avatar
флаг de
Я создал модуль Vendor Stream Wrapper, чтобы решить проблему, с которой вы, вероятно, пытаетесь справиться. Возможно, это поможет вам: https://www.drupal.org/project/vendor_stream_wrapper
флаг cn
Если вы установили «тип» файлов composer.json ваших пользовательских модулей в «drupal-custom-module», и у вас есть настройка в вашем основном файле composer.json в «путях установки» для «type: drupal-custom- module` для перехода в `docroot/modules/custom/{$name}` (в последних версиях основного рекомендуемого проекта это уже есть), метод репозиториев пути композитора _может_ работать? Надеюсь, он достаточно умен, чтобы не пытаться перезаписать исходник самим собой.
Рейтинг:0
флаг sb

Это то, что я должен заставить это работать:

сеть/модули/обычай/мой_обычай/composer.json

{
    "имя": "[провайдер]/мой_пользовательский",
    "тип": "drupal-пользовательский-модуль",
    "description": "Мой пользовательский модуль.",
    "требовать": {
        "друпал/ядро": "^8.9 || ^9",
        "друпал/разработка": "^2.1"
    },
    "минимальная стабильность": "dev",
    "хранилища": [
        {
            "тип": "композитор",
            "url": "https://packages.drupal.org/8"
        },
        {
            "тип": "композитор",
            "url": "https://asset-packagist.org"
        }
    ]
}

композитор.json

{
...
  "хранилища": [
    {
      "тип": "путь",
      "url": "веб/модули/пользовательский/мой_пользовательский"
    }
  ],
...
  "требовать": {
    ...
    "[провайдер]/my_custom": "*"
    ...
  },
  "дополнительный": {
    "пути установщика": {
      ...
      "web/modules/custom/{$name}": ["type:drupal-custom-module"],
      ...
    },
  }
...
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.