Ответ 1
Вы должны определить EDITOR
как переменную среды.
Try
export EDITOR=$(which vi)
Чтобы сохранить это, добавьте его в ~/.bashrc
или ~/.bash_profile
.
Я успешно установил chef на своей рабочей станции, но когда я пытаюсь создать роль, используя следующую команду
knife role create startmeup
я получаю
ERROR: RuntimeError: Please set EDITOR environment variable
Любая идея, в чем проблема?
Спасибо
Вы должны определить EDITOR
как переменную среды.
Try
export EDITOR=$(which vi)
Чтобы сохранить это, добавьте его в ~/.bashrc
или ~/.bash_profile
.
В файле knife.rb(~/.chef/knife.rb) добавьте следующую строку для блокнота ++:
knife[:editor] = "C:\\progra~2\\notepa~1\\notepad++.exe -nosession -multiInst"
или если вы просто хотите использовать блокнот
knife[:editor] = "notepad"
или emacs для GNU
knife[:editor] = "emacs"
Если вы хотите установить его для этого сеанса, команда
set EDITOR="C:\Program Files (x86)\Notepad++\notepad++.exe"
работы.
Я использую что-то вроде этого:
knife role create startmeup -e vi
Просто установите свой редактор, и он будет работать. В моем случае я использую редактор vim, поэтому моя команда была следующей:
export EDITOR=vim
Есть несколько способов решить эту проблему.
export EDITOR=vim
в оболочке или поместить эту строку в файлы, такие как .bashrc;передайте команду -e vim
(а именно --editor vim
) команде knife
. Например, вы можете сделать это следующим образом:
knife role create startmeup -e vim
измените ~/.chef/knife.rb, добавив эту строку:
knife[:editor] = "vim"
export EDITOR=vi
В моем случае это сработало. Но для ubuntu14.o версии vi редактор backspace не работает.
Добавление этой записи в файл конфигурации ножа, работающий для меня
knife[:editor] = "Notepad"
Нет явного способа установить переменную под knife.rb. Его хорошо экспортировать на вашу оболочку, используя $ export EDITOR = vim (или любой из тех, которые вы хотели бы сохранить).
Даже без установки переменной под knife.rf это работает. Просто экспортируйте EDITOR, установив соответствующее значение.