2013-07-10 83 views
20

当我运行以下命令我得到下面提到的错误:厨师:如何设置编辑为刀

$ knife node edit hostname.domain.com 
ERROR: You must set your EDITOR environment variable or configure your editor via knife.rb 

我想在knife.rb设置编辑器的值,但我无法找到的选项将对应于编辑。我已经通过knife.rb支持下面的链接,这说明各种选项了:

http://docs.opscode.com/config_rb_knife.html

http://docs.opscode.com/config_rb_knife_optional_settings.html

我知道我并没有忽视上述链接,但我可以;“找不到一个选项,这是有关设置编辑器值。

你能指点我正确的选项,这将帮助我设置刀的编辑器。

谢谢。

+0

无论如何设置'EDITOR'环境变量是一个很好的做法,因为它被许多进程使用。你可以将它导出到'〜/ .bashrc'文件中(如果使用bash)。我的指向'/ usr/bin/vim',但你可以使用你选择的编辑器。 – cassianoleal

回答

11

如果我们检查出source codeassert_editor_set!方法),我们可以看到它检查config[:editor]。在knife.rb中逻辑上相当knife[:editor]应该工作。

knife[:editor]在最新厨师(v.11.4.4)中为我工作。但在旧版本(v10.26)中不起作用。

+3

谢谢。 'knife [:editor] =“/ usr/bin/vim”'工作。我的是11.4.4。所以生活是美好的。 – slayedbylucifer

+0

刀[:编辑器]是首选和最简单的方法,但您也可以设置环境变量EDITOR以及 – sethvargo

17

您可以通过两种方式设置EDITOR变量。第一种方法是在命令行中设置EDITOR变量。

export "EDITOR=nano" 

OR

export "EDITOR=vim" 

第二种方法是设置knife.rb文件编辑器。

knife[:editor]="vim" 

OR

knife[:editor]="nano" 

纳米还附带有一个Ubuntu的编辑。

+0

其中是knife.rb –

0

不幸的是,厨师不认可'vi'作为编辑器,所以只设置vim或nano。

+0

是否有关于更改此github问题? – pudelwudel