vault backup: 2026-05-20 14:29:47

This commit is contained in:
Dmitry
2026-05-20 14:29:47 +03:00
parent 5261a9d0ff
commit 08f4303d28
4 changed files with 76 additions and 5 deletions
+5 -5
View File
File diff suppressed because one or more lines are too long
@@ -0,0 +1,70 @@
---
status: seed
type: guide
tags:
- programming
- ruby-on-rails
- debug
created: 2026-05-20
updated: 2026-05-20
title: Rails credentials edit не открывает редактор
source: "[[99 System/Archive/Rails credentials edit не открывает редактор|Rails credentials edit не открывает редактор]]"
---
# Rails credentials edit не открывает редактор
Заметка фиксирует кейс, когда `bin/rails credentials:edit` в [[Ruby On Rails]] завершается без открытия редактора и без явной ошибки.
## Симптом
Команда:
```bash
bin/rails credentials:edit
```
сразу печатает:
```text
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` и задать рабочий редактор:
```bash
VISUAL="" EDITOR="nano" bin/rails credentials:edit
```
Можно заменить `nano` на любой редактор, который доступен в текущем окружении.
## Диагностика
Проверить, не установлен ли `$VISUAL`:
```bash
echo "VISUAL='$VISUAL'"
```
Проверить, находится ли редактор в `PATH`:
```bash
which nano
```
Если используется GUI-редактор вроде `code` или `zed`, отдельно проверить, что его CLI-команда доступна из той же shell-сессии, где запускается Rails.
## Практический вывод
Для `credentials:edit` важен не только `$EDITOR`, но и `$VISUAL`. Если Rails ведёт себя так, будто файл был сохранён без редактирования, сначала проверить переменные окружения редактора и доступность команды редактора через `PATH`.
@@ -13,6 +13,7 @@ title: Ruby On Rails
%% Begin Waypoint %%
- [[Active Storage]]
- [[Rails credentials edit не открывает редактор]]
- [[Sidekiq - основа работы]]
%% End Waypoint %%