Изменить формулировку в discourse-setup

Привет
Недавно я выполнил несколько чистых установок.
Обратил внимание на формулировку первого сообщения в процессе проверки наличия Docker.

Не удалось найти Docker … и т.д.

Использование слова «не удалось» как первого сообщения при большинстве установок — не лучший способ обратной связи для тех, кто не знаком с командной строкой.

Вы копируете и вставляете:

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

и это приводит к ошибке, если Docker ещё не установлен, что в большинстве случаев вполне вероятно.

Можно ли изменить формулировку на менее негативную?

  • «Docker не найден …

  • «[КАК ОЖИДАЛОСЬ] … Docker не установлен …

  • «Следующий шаг — установить Docker, так как он сейчас не установлен …

  • «Успех! Следующий шаг — установить Docker, так как он сейчас не установлен …

@pfaffman, знаю, что вы часто выполняете установки, есть какие-то мысли по этому поводу?

Отвечаю сам себе… ещё одна мысль.

Это просто вежливость — спрашивать разрешение на установку Docker?
Действительно ли эта остановка в процессе установки необходима?

Можно ли просто указать, что Docker будет установлен, если его ещё нет?

Обратите внимание, что эта формулировка отсутствует в инструкции; она взята из скрипта discourse-setup.

Да,
я говорю о ответе командной строки — echo

Можно ли убрать слово Failed и использовать другую формулировку?
Или ещё лучше: может ли установка просто продолжить работу и не останавливаться здесь для ответа?

Если вы выполняете установку, последнее слово, которое вы хотите увидеть, — это Failed.
Особенно после того, как вы только что скопировали и вставили (правильно) инструкции по установке.

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

Однако в следующий раз, когда я буду вносить изменения (возможно, в следующем месяце, чтобы было проще отключить новые функции ember-cli), я постараюсь сделать эти сообщения менее пугающими.

Рим был построен не за один день :slight_smile:

Поэтому уборка может занять некоторое время :+1:

Привет, Джей,
Да, я несколько раз проходил через установку, и с опытом паника действительно отступает.

Используемая формулировка отражает отрицательный результат условия в строке 131.
С точки зрения программирования это верно, но на практике отсутствие Docker — ожидаемое поведение, поскольку у большинства пользователей только что выполнена чистая установка.

Мне всегда казалось, что этот код, который я вставляю в командную строку, должен/должен был установить Docker без необходимости в диалоге?

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

Похоже, я писал для программистов, а не для обычных людей!

То, что здесь представлено, можно легко предотвратить, заменив сообщения на строки языка. Два возможных способа достичь этого:

  • реализация вызовов API (чтение) и использование Weblate,
  • хранение всех строк языка локально (внутри установки Discourse) и замена всех сообщений на плейсхолдеры.

Оба вышеуказанных способа требуют значительной модификации ядра Discourse.

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

Честно говоря, новая формулировка звучит так, будто Docker установлен, но он просто не добавлен в PATH.

Ох, черт. Да.

Слова так сложны.

Так что, возможно,

 Не удалось найти docker или docker.io в вашем PATH.

что, как я думал, имеет смысл как

Ни docker, ни docker.io не находятся в вашем PATH.

Должно быть

Docker не найден.

И люди, которые увидят это и

"Нажмите Enter для установки Docker с https://get.docker.com/ или Ctrl+C для выхода"

будут знать, нажимать ли Enter или нет.

Привет, Джей! Спасибо, что нашли время это сделать. Я знаю, что вы заняты своим собственным сайтом, который, кстати, выглядит отлично. С наилучшими пожеланиями.

Docker не найден.

Идеально.

Я считаю, что упоминание PATH в сообщении является важным индикатором того, что docker/docker.io может быть установлен или нет, то есть проблема может заключаться в том, что PATH не включает путь, где он был установлен.

Если цель состоит просто в том, чтобы избежать использования слова с сильным негативным оттенком, я думаю, что достаточно заменить «Failed to» на «Could not».

Не удалось найти docker или docker.io в PATH.

Снова отрицательный результат…
Мне просто не нужно это знать… Я просто хочу установить Docker, когда вставлю команду…

Зачем останавливать установку, чтобы сообщить, что то, что вы устанавливаете, ранее не было установлено?

Продолжайте установку Docker.

Если Docker найден в PATH — отлично — установите Discourse.

Удалить эти две строки полностью?

Джей, Саймон

Скорее всего, лучше не тратить на это время.
Разногласия по поводу «текста» сложно разрешить, не кого-то не обидев.

Когда я сделаю следующую чистую установку… я смогу улыбнуться этой теме, перейти в своё «хорошее место» и, как мне говорят, Docker «не найден» на моей свежей установке. Когда я нажимаю «Y», чтобы установить Docker, я смогу сделать это, не ругаясь сквозь стиснутые зубы: «Я думал, что именно этим я и занимался — давай уже, делай».

Думаю, это происходит потому, что вы не устанавливаете Docker. В момент появления этого сообщения вы запускаете настройку Discourse, которая требует наличия Docker. Если система не находит Docker, она помогает вам его установить, но спрашивает, так как ничего не знает о вашей системе.

Возможно, Docker не найден, потому что он не установлен — в этом случае установка, очевидно, правильный вариант. А возможно, Docker установлен вами намеренно в другом месте по какой-то причине, и это место не входит в стандартный PATH системы — тогда установка будет неправильным решением. (Один из правильных вариантов — прервать настройку и запустить её снова с помощью команды PATH=/where/docker/is:$PATH ./discourse-setup)

Возможно, вы интерпретируете название репозитория discourse_docker как сам Docker? Это не так. Это внешний слой Discourse — компоненты, которые должны взаимодействовать с Docker, такие как скрипт настройки, скрипт запуска и т. д.