web-dev-qa-db-ja.com

Chef-エラー:RuntimeError:EDITOR環境変数を設定してください

ワークステーションにシェフを正常にインストールしましたが、次のコマンドを使用してロールを作成しようとしています

knife role create startmeup

私は得る

エラー:RuntimeError:EDITOR環境変数を設定してください

問題が何か分かりますか?

31
GigaPr

EDITORを環境変数として定義する必要があります。

試して

export EDITOR=$(which vi)

これを保持するには、~/.bashrcまたは~/.bash_profileに追加します。

40
StephenKing

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"
28
vesuvious

私はこのようなものを使用します:

knife role create startmeup -e vi
4
Vitaliy

そのセッションに設定する場合は、コマンド

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

動作します。

3
user2364290

問題に対処する方法はいくつかあります。

  1. 環境変数$ EDITORを設定します。シェルのexport EDITOR=vimでエクスポートするか、この行を。bashrc;のようなファイルに入れます。
  2. option -e vim(つまり--editor vim)をknifeコマンドに渡します。たとえば、次のようにできます。

    knife role create startmeup -e vim

  3. 変更〜/ .chef/knife.rbこの行を追加することにより:

    knife[:editor] = "vim"

2
Yun Zhao

エディターを設定するだけで機能します。私の場合、vimエディターを使用しているため、コマンドは次のようになりました。

export EDITOR=vim
2
Tanmay

ナイフ設定ファイルにこのエントリを追加するとうまくいきました

knife[:editor] = "Notepad"
0
GigaPr

マシンにnotepad ++がインストールされている場合:

knife environment create startmeup -e notepad++
0

ナイフは環境変数よりknife.rbを優先します。

設定が提供されない場合、knifeはデフォルトでvimになります(とにかく私のシステムでは)ので、カスタムエディタ(私の場合はスクリプト)用に環境を設定する準備ができるまで値を省略しても安全です。

0
Rew Brian
export EDITOR=vi   

私の場合、それは機能しましたが、ubuntu14.oバージョンviエディターではバックスペースが機能していません。

0
user3651353