2013-07-10 107 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