厨师:如何为刀设置EDITOR

sla*_*fer 21 chef-infra

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

$ knife node edit hostname.domain.com
ERROR: You must set your EDITOR environment variable or configure your editor via knife.rb
Run Code Online (Sandbox Code Playgroud)

我想在knife.rb中设置编辑器值,但我无法找到与编辑器对应的选项.我已经通过以下链接解释了knife.rb支持的各种选项:

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

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

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

你能指点我正确的选择,这将有助于我设置编辑刀.

谢谢.

Raj*_*gde 21

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

export "EDITOR=nano"
Run Code Online (Sandbox Code Playgroud)

要么

export "EDITOR=vim"
Run Code Online (Sandbox Code Playgroud)

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

knife[:editor]="vim"
Run Code Online (Sandbox Code Playgroud)

要么

knife[:editor]="nano"
Run Code Online (Sandbox Code Playgroud)

nano也是Ubuntu附带的编辑器.


Dra*_*ter 11

如果我们检查源代码(assert_editor_set!方法),我们可以看到它检查config[:editor].相当逻辑上knife[:editor]在knife.rb应该工作.

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

  • 谢谢.`knife [:editor] ="/ usr/bin/vim"`工作.我的是11.4.4.生活是美好的. (3认同)

小智 5

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