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