Chef - ERROR:RuntimeError:请设置EDITOR环境变量

时间:2013-03-22 13:24:01

标签: chef

我已经在我的工作站上成功安装了厨师,但是当我尝试使用以下命令创建角色时

knife role create startmeup

我得到了

  

错误:RuntimeError:请设置EDITOR环境变量

知道问题是什么吗?

11 个答案:

答案 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)

有几种方法可以解决这个问题。

  1. 设置环境变量$ EDITOR 。您可以在shell中通过export EDITOR=vim导出它,或将此行放在 .bashrc ;
  2. 等文件中
  3. 选项-e vim (即--editor vim)传递给knife命令。例如,您可以这样做:

    knife role create startmeup -e vim

  4. 通过添加以下行修改〜/ .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。