Рейтинг:0

Применение патча - как?

флаг cn

Я пытаюсь установить Radix на Drupal 9 (Drush 10) — установка продолжает давать сбой в composer/drush en radix, и я отследил ее до текущей «ошибки» (или, по крайней мере, уже исправленной ошибки), для которой кто-то написал патч (# 12) - Я чувствую себя дураком, но как применить этот патч?

Я где-то читал в другом посте, что мне нужно добавить это в мой composer.json, но я не уверен, в какой раздел или в какой синтаксис. Извините, я не могу быть более полезным с дополнительной информацией, но надеюсь, что кто-то в сообществе может помочь?

leymannx avatar
флаг ne
В зависимости от конкретной ошибки вы получите либо самый популярный ответ, либо один из других ответов в связанном вопросе, который вам поможет.
флаг tz
Патчи на основе composer.json также здесь https://drupal.stackexchange.com/questions/219649/how-to-manage-patches-in-composer-when-theyre-merged-into-the-module, но, вероятно, ссылка leymannx выше имеет подробнее
leymannx avatar
флаг ne
Итак, я узнал от @anonymous, что нам нужно больше контекста: как именно вы пытаетесь установить Radix, команды Composer, команды Drush, хост-ОС и какие именно ошибки вы получаете? Похоже, вы совсем не знакомы с Composer или вообще им не пользуетесь. Поэтому, пожалуйста, предоставьте дополнительную информацию и обновите свой вопрос. Спасибо
Рейтинг:-3
флаг fr

Это очень просто - вам не нужно использовать композитор или что-то подобное (хотя, если вы поддерживаете веб-сайт и вам нужно много исправлений, чтобы он работал, полезно научиться использовать композитор в долгосрочной перспективе).

Вот как это сделать:

Перейдите в каталог, где установлен модуль 'radix'. Относительно веб-корня это должно быть что-то вроде /модули/основание или же /modules/contrib/основание. Загрузите патч в этот каталог — например, вы можете использовать wget https://www.drupal.org/files/issues/2022-01-11/3173811.patch или вы можете использовать ftp или любой другой метод, который вам нравится.

Затем в том же каталоге, куда вы загружаете патч, используйте команду патч -p1 < 3173811.патч.

Это предполагает, что вы используете различные Unix для своего веб-сайта — эти команды доступны в большинстве дистрибутивов. Если вы работаете в Windows, вы также можете найти эти точные команды, но вам, возможно, придется установить их самостоятельно.

Если это все еще слишком большой барьер, по крайней мере, для этого патча, исправление кода вручную всегда возможно. Патч просто исправляет два оператора «use»:

-использовать Robo\Task\Archive\loadTasks в качестве ArchiveTaskLoader;
-использовать Robo\Task\Filesystem\loadTasks как FilesystemTaskLoader;
+использовать Robo\Task\Archive\Tasks как ArchiveTaskLoader;
+использовать Robo\Task\Filesystem\Tasks как FilesystemTaskLoader;

В патче сказано, что первые две строки нужно удалить (вот что значит минус), а вторые две строчки добавить на то же место (вот что значит плюсик). Формат патча использует первый столбец, чтобы показать вам, что нужно изменить — если в первом столбце ничего нет, строка не изменится. Если в первом столбце есть -, строка удаляется.Если в первом столбце есть +, строка добавляется. Этот первый столбец используется только в патче, он не должен появляться в коде ни до, ни после его изменения.

leymannx avatar
флаг ne
OP использует Composer, почему вы рекомендуете им применять патч вручную?
leymannx avatar
флаг ne
Он исчезнет после следующей установки композитора.
флаг fr
Нет, ОП НЕ использует Composer - вам не хватает контекста - ОП задал этот вопрос в Slack и продолжал получать в качестве ответа «композитор». Тот факт, что ОП должен был прийти сюда через день, чтобы задать тот же вопрос, означает, что совет Slack о «композиторах» не помог. Ясно, что это не ответный ответ. Говорить кому-то, кто не установил все через Composer, использовать Composer для установки патчей, просто воздвигать барьеры, а не пытаться решить проблемы.
флаг fr
Мне также было ясно, что Composer — это хорошее решение в долгосрочной перспективе, но проблема ОП гораздо более фундаментальна — ОП не понимает основ того, как применять патч. Предположение, что все являются разработчиками и что все являются экспертами по Composer, является одним из основных недостатков поддержки Drupal. Возможно, попробуйте подойти к этому с точки зрения того, кто не является штатным разработчиком, а просто хочет, чтобы что-то работало...
leymannx avatar
флаг ne
Да, мы не были в Slack с этим пользователем. Все, что мы видим, это «попытка установить что-то с помощью Composer», но безуспешно (ошибки не выдаются) и «мне нужен этот патч в composer.json, но я не знаю требуемого синтаксиса». Это контекст, который у нас есть, и поэтому ваш ответ кажется неправильным. Без обид! Я рад, что теперь узнал больше контекста по этому вопросу. Спасибо
флаг cn
@anonymous Пожалуйста, помните, что сайт предназначен не для индивидуальной поддержки, а для создания долговременных справочных материалов. Весь контекст, необходимый для ответа на вопрос, по определению находится в теле вопроса — если его нет, он извлекается из комментариев пользователя. а затем добавил к вопросу, чтобы он был понятен будущим посетителям. Прямо сейчас все посетители могут видеть вопрос о том, как применить патч с помощью композитора, и ответ, в котором подробно рассказывается, как это сделать несколькими другими способами, но не так, как спрашивали. Я ценю, что у вас есть дополнительный контекст, и, конечно же, здорово, что вы пытаетесь...
флаг cn
... чтобы помочь ОП, но чтобы сделать это здесь, вам нужно включить внешний контекст в вопрос, иначе ответ просто не будет иметь смысла. Если это требует небольшого сотрудничества с ОП, чтобы изменить вопрос, чтобы он соответствовал тому, что они действительно хотели спросить, тогда это нормально, но конечный результат должен заключаться в том, что ответ отвечает на поставленный вопрос, для чего, надеюсь, очевидные причины на сайте вопросов и ответов :)
флаг fr
Вопрос заключается в том, «как применить патч», и мой ответ совершенно правильный, полезный и отвечающий этому, а также общий. Трое из вас проголосовали против него, что означает, что вы предположили контекст вопроса, а именно набор навыков и рабочий процесс, который использует ОП. Несмотря на это, вы говорите не разработчику «исправить» composer.json, отредактировав composer.json вручную только для того, чтобы применить «патч» к модулю. Мой ответ выше гораздо полезнее для *большинства* пользователей Drupal.

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

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