22

当我在命令下运行时,我收到下面提到的错误:

$ 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

我知道我没有忽略上面的链接,但我可以;找不到与设置编辑器值相关的选项。

您能否指出正确的选项,这将帮助我为刀设置编辑器。

谢谢。

4

4 回答 4

23

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

export "EDITOR=nano"

或者

export "EDITOR=vim"

第二种方式是在knife.rb 文件中设置EDITOR。

knife[:editor]="vim"

或者

knife[:editor]="nano"

nano 也是 Ubuntu 附带的编辑器。

于 2013-07-12T05:56:14.787 回答
12

如果我们检查源代码assert_editor_set!方法),我们可以看到它检查了config[:editor]. knife[:editor]在knife.rb 中非常合乎逻辑应该可以工作。

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

于 2013-07-10T07:42:23.660 回答
5

对于可视化编辑器(如 atom 或代码),您需要使用 '-w' 开关导出 EDITOR 变量: export EDITOR='atom -w'

于 2018-07-05T14:09:12.567 回答
-1

不幸的是,厨师不将“vi”识别为编辑器,因此仅设置 vim 或 nano。

于 2016-01-09T10:31:23.237 回答