我已经在我的工作站上成功安装了厨师,但是当我尝试使用以下命令创建角色时
knife role create startmeup
我得到了
错误:RuntimeError:请设置EDITOR环境变量
知道问题是什么吗?
答案 0 :(得分:39)
您必须将EDITOR
定义为环境变量。
尝试
export EDITOR=$(which vi)
要保留此功能,请将其添加到~/.bashrc
或~/.bash_profile
。
答案 1 :(得分:28)
在你的knife.rb文件(〜/ .chef / knife.rb)中为记事本++添加以下行:
knife[:editor] = "C:\\progra~2\\notepa~1\\notepad++.exe -nosession -multiInst"
或者如果您只想使用记事本
knife[:editor] = "notepad"
或GNU的emacs
knife[:editor] = "emacs"
答案 2 :(得分:4)
我使用这样的东西:
knife role create startmeup -e vi
答案 3 :(得分:3)
如果要为该会话设置它,请执行命令
set EDITOR="C:\Program Files (x86)\Notepad++\notepad++.exe"
作品。
答案 4 :(得分:2)
只需设置您的编辑器即可。在我的情况下,我使用vim编辑器,这就是为什么我的命令如下:
export EDITOR=vim
答案 5 :(得分:2)
有几种方法可以解决这个问题。
export EDITOR=vim
导出它,或将此行放在 .bashrc ; 将选项-e vim
(即--editor vim
)传递给knife
命令。例如,您可以这样做:
knife role create startmeup -e vim
通过添加以下行修改〜/ .chef / knife.rb :
knife[:editor] = "vim"
答案 6 :(得分:0)
export EDITOR=vi
在我的情况下,它工作。但对于ubuntu14.o版本vi编辑器退格不起作用。
答案 7 :(得分:0)
将此条目添加到刀配置文件中对我有用
knife[:editor] = "Notepad"
答案 8 :(得分:0)
如果您的计算机中安装了notepad ++:
knife environment create startmeup -e notepad++
答案 9 :(得分:0)
Knife优先于环境变量优先使用knife.rb。
如果未提供任何配置,似乎knife将默认为vim(无论如何,在我的系统上),因此可以忽略该值,直到您准备为自定义编辑器配置环境为止(在我的情况下是脚本)。
答案 10 :(得分:-2)
没有明确的方法在knife.rb下设置变量。 它很适合使用你的shell导出 $ export EDITOR = vim(或您想要保留的任何内容)。
即使没有在knife.rf下设置变量也可以。只需通过设置适当的值来导出EDITOR。