Chef - ERROR:RuntimeError:请设置EDITOR环境变量

问题描述 投票:31回答:11

我在我的工作站上成功安装了厨师,但是当我尝试使用以下命令创建角色时

knife role create startmeup

我明白了

错误:RuntimeError:请设置EDITOR环境变量

知道问题是什么吗?

chef
11个回答
40
投票

您必须将EDITOR定义为环境变量。

尝试

export EDITOR=$(which vi)

要坚持这一点,请将其添加到~/.bashrc~/.bash_profile


0
投票

Knife将knife.rb优先于环境变量。

如果没有提供配置,似乎刀将默认为vim(在我的系统上),因此在您准备为自定义编辑器(在我的情况下是脚本)配置环境之前,可以安全地省略该值。


-2
投票

没有明确的方法在knife.rb下设置变量。使用$ export EDITOR = vim(或任何你想保留的)导出你的shell是很好的。

即使没有在knife.rf下设置变量也可以。只需通过设置适当的值导出EDITOR即可。


28
投票

在你的knife.rb文件(〜/ .chef / knife.rb)中为记事本++添加以下行:

knife[:editor] = "C:\\progra~2\\notepa~1\\notepad++.exe -nosession -multiInst"

或者如果你只想使用记事本

knife[:editor] = "notepad"

或GNU的emacs

knife[:editor] = "emacs"

4
投票

我使用这样的东西:

knife role create startmeup -e vi

3
投票

如果要为该会话设置该命令

set EDITOR="C:\Program Files (x86)\Notepad++\notepad++.exe"

作品。


2
投票

只需设置您的编辑器即可。在我的情况下,我使用vim编辑器,这就是为什么我的命令如下:

export EDITOR=vim

2
投票

有几种方法可以解决这个问题。

  1. 设置环境变量$ EDITOR。您可以通过shell中的export EDITOR=vim将其导出,或将此行放在.bashrc等文件中;
  2. 将选项-e vim(即--editor vim)传递给knife命令。例如,您可以这样做: knife role create startmeup -e vim
  3. 通过添加以下行修改〜/ .chef / knife.rb: knife[:editor] = "vim"

0
投票
export EDITOR=vi   

在我的情况下它工作。但对于ubuntu14.o版本vi编辑器退格不起作用。


0
投票

将此条目添加到刀配置文件对我有用

knife[:editor] = "Notepad"

0
投票

如果您的机器中安装了notepad ++:

knife environment create startmeup -e notepad++
© www.soinside.com 2019 - 2024. All rights reserved.