Chef infra Chef-错误:RuntimeError:请设置编辑器环境变量
我已在工作站上成功安装了chef,但在尝试使用以下命令创建角色时Chef infra Chef-错误:RuntimeError:请设置编辑器环境变量,chef-infra,Chef Infra,我已在工作站上成功安装了chef,但在尝试使用以下命令创建角色时 knife role create startmeup 我明白了 错误:RuntimeError:请设置编辑器环境变量 知道问题是什么吗?您必须将编辑器定义为环境变量 试一试 若要保持此状态,请将其添加到~/.bashrc或~/.bash\u profile只需设置编辑器即可。在我的例子中,我使用vim editor,这就是为什么我的命令如下所示: export EDITOR=vim 如果要为该会话设置它,命令 set EDI
knife role create startmeup
我明白了
错误:RuntimeError:请设置编辑器环境变量
知道问题是什么吗?您必须将
编辑器
定义为环境变量
试一试
若要保持此状态,请将其添加到
~/.bashrc
或~/.bash\u profile
只需设置编辑器即可。在我的例子中,我使用vim editor,这就是为什么我的命令如下所示:
export EDITOR=vim
如果要为该会话设置它,命令
set EDITOR="C:\Program Files (x86)\Notepad++\notepad++.exe"
工作
在我的例子中,它起作用了。但是对于ubuntu14.o版本vi编辑器,退格不起作用。将此条目添加到刀配置文件对我来说很有效
knife[:editor] = "Notepad"
我用这样的方式:
knife role create startmeup -e vi
在knife.rb文件(~/.chef/knife.rb)中,为notepad++添加以下行:
knife[:editor] = "C:\\progra~2\\notepa~1\\notepad++.exe -nosession -multiInst"
或者如果你只是想用记事本
knife[:editor] = "notepad"
或GNU的emacs
knife[:editor] = "emacs"
没有明确的方法设置knife.rb下的变量。 在shell上使用 $export EDITOR=vim(或您希望保留的任何内容)
即使不在knife.rf下设置变量,它也可以工作。只需设置适当的值即可导出编辑器。有几种方法可以解决此问题
export EDITOR=vim
导出它,或者将此行放入.bashrc等文件中
-e vim
(即--editor vim
)传递给刀命令。例如,您可以这样做:
knife role create startmeup -e vi
刀角色创建启动MEUP-e vim
knife[:editor]=“vim”
如果您的计算机中安装了记事本+:
knife environment create startmeup -e notepad++
刀子优先于环境变量Knife.rb
如果没有提供配置,刀子似乎会默认为vim(无论如何,在我的系统上),因此在准备为自定义编辑器(在我的例子中是脚本)配置环境之前,可以安全地忽略该值 这是几天前给出的答案。我如何在Windows中设置编辑器?您可以用同样的方法进行设置-至少只要您使用
msysgit
。打开Git-Bash并执行ls.Bash*
以查看是否存在.bashrc
或.Bash\u profile
文件之一。然后编辑(或创建一个新的)并将该行放在那里。如果您没有使用Git Bash,请提供更多信息。在Windows上,我必须使用转义的8.3符号指定完整路径,例如刀[:编辑器]=“C:\\Progra~2\\Notepa~1\\Notepad++.exe”。请参阅,您还可以使用单引号和双引号对其进行配置。也就是说:knife[:editor]=“C:\Program Files(x86)\Notepad++\Notepad++.exe”
可以正常工作。很抱歉:(有办法在knife.rb文件中设置编辑器值,效果非常好。
knife environment create startmeup -e notepad++