2017-03-02 107 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