2017-03-02 50 views
0

我需要使用knife創建一個數據包。刀交互命令編輯器

我已經設置此行knife.rb文件:

knife[:editor] = 'C:\Program Files\Sublime Text 3\sublime_text.exe' 

這是我knife.rb內容文件:

knife[:editor] = 'C:\Program Files\Sublime Text 3\sublime_text.exe' 
current_dir = File.dirname(__FILE__) 
log_level    :info 
log_location    STDOUT 
node_name    "living" 
client_key    "#{current_dir}/cert.pem" 
chef_server_url   "https://api.chef.io/organizations/company" 
cookbook_path   ["#{current_dir}/../cookbooks"] 

然而,當我執行knife data bag create aws main,我得到這個消息:

Data bag aws already exists 
ERROR: RuntimeError: Please set EDITOR environment variable 

任何想法?

回答

0

您可能想要'C:\\Program Files\\Sublime Text 3\\sublime_text.exe -w',即糾正反斜槓轉義並添加「等待模式」。

+0

謝謝@coderanger。它一直失敗,消息是一樣的。爲什麼有些屬性具有'property = value'語法和其他'屬性值'(沒有'=')? – Jordi

+0

我嘗試過設置'knife [:editor] ='notepad'',它現在可以正常工作...... – Jordi

+0

不同的語法是因爲有些是DSL方法,有些是局部變量,有些是基於Hash的配置系統。你使用你的'knife.rb'在正確的地方嗎? – coderanger