ワークステーションにシェフを正常にインストールしましたが、次のコマンドを使用してロールを作成しようとしています
knife role create startmeup
私は得る
エラー:RuntimeError:EDITOR環境変数を設定してください
問題が何か分かりますか?
EDITOR
を環境変数として定義する必要があります。
試して
export EDITOR=$(which vi)
これを保持するには、~/.bashrc
または~/.bash_profile
に追加します。
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 role create startmeup -e vi
そのセッションに設定する場合は、コマンド
set EDITOR="C:\Program Files (x86)\Notepad++\notepad++.exe"
動作します。
問題に対処する方法はいくつかあります。
export EDITOR=vim
でエクスポートするか、この行を。bashrc;のようなファイルに入れます。option -e vim
(つまり--editor vim
)をknife
コマンドに渡します。たとえば、次のようにできます。
knife role create startmeup -e vim
変更〜/ .chef/knife.rbこの行を追加することにより:
knife[:editor] = "vim"
エディターを設定するだけで機能します。私の場合、vimエディターを使用しているため、コマンドは次のようになりました。
export EDITOR=vim
ナイフ設定ファイルにこのエントリを追加するとうまくいきました
knife[:editor] = "Notepad"
マシンにnotepad ++がインストールされている場合:
knife environment create startmeup -e notepad++
ナイフは環境変数よりknife.rbを優先します。
設定が提供されない場合、knifeはデフォルトでvimになります(とにかく私のシステムでは)ので、カスタムエディタ(私の場合はスクリプト)用に環境を設定する準備ができるまで値を省略しても安全です。
export EDITOR=vi
私の場合、それは機能しましたが、ubuntu14.oバージョンviエディターではバックスペースが機能していません。