2.8 KiB
status, type, tags, created, updated, source, aliases
| status | type | tags | created | updated | source | aliases | ||||
|---|---|---|---|---|---|---|---|---|---|---|
| seed | guide |
|
2026-05-20 | 2026-05-20 | 99 System/Archive/Rails credentials edit не открывает редактор |
|
Rails credentials edit не открывает редактор
Заметка фиксирует кейс, когда bin/rails credentials:edit в Ruby On Rails - MOC завершается без открытия редактора и без явной ошибки.
Симптом
Команда:
bin/rails credentials:edit
сразу печатает:
File encrypted and saved.
При этом редактор не открывается, а credentials фактически не меняются.
Причина
Rails 7.x выбирает редактор через helper rails/command/helpers/editor.rb и берёт $VISUAL приоритетнее $EDITOR.
Если переменная окружения $VISUAL установлена, например в zed или code, значение $EDITOR игнорируется. Если указанный в $VISUAL редактор не найден или не может быть запущен, системный вызов завершается с ошибкой, но Rails может молча продолжить выполнение и сохранить файл без изменений.
Связанный контекст: Environment Variables и Command Path.
Решение
На один запуск явно сбросить $VISUAL и задать рабочий редактор:
VISUAL="" EDITOR="nano" bin/rails credentials:edit
Можно заменить nano на любой редактор, который доступен в текущем окружении.
Диагностика
Проверить, не установлен ли $VISUAL:
echo "VISUAL='$VISUAL'"
Проверить, находится ли редактор в PATH:
which nano
Если используется GUI-редактор вроде code или zed, отдельно проверить, что его CLI-команда доступна из той же shell-сессии, где запускается Rails.
Практический вывод
Для credentials:edit важен не только $EDITOR, но и $VISUAL. Если Rails ведёт себя так, будто файл был сохранён без редактирования, сначала проверить переменные окружения редактора и доступность команды редактора через PATH.