vault backup: 2026-05-20 14:29:47
This commit is contained in:
Vendored
+5
-5
File diff suppressed because one or more lines are too long
+70
@@ -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 %%
|
||||
|
||||
Reference in New Issue
Block a user