Chef Knife 不使用编辑器保存更改
Chef Knife not saving changes with editor
我想创建一个带刀的角色。所以我 运行:
> knife role create beautifulprayer
ERROR: RuntimeError: Please set EDITOR environment variable
没问题!只需添加编辑器即可。之后:
> knife role create beautifulprayer
这将打开我设置的编辑器 (subl) 并在编辑器打开后继续执行并将调用传播到 Chef 服务器,导致 Created role[beautifulprayer]
虽然编辑器仍然打开但我还没有保存任何东西。编辑时也会发生这种情况,结果是 Object unchanged, not saving
,而编辑器仍处于打开状态并且没有发生保存。
虽然我使用 vim 时不会发生这种情况,因为 knife 等待我关闭 VIM 然后将调用传播到厨师服务器。我想使用 sublime,但这目前不起作用,因为 knife 不会传播或检测到 sublime 的任何更改和保存。
您需要让您的编辑器"block"当前进程并且不分叉另一个进程。通常这被描述为 "no fork"、"foreground" 或 "wait" 选项:
示例:
Sublime 文本
export EDITOR="subl -w"
原子:
export EDITOR="atom -f"
MacVim:
export EDITOR="mvim -f"
文本伴侣 2:
export EDITOR="mate -w"
完成更改后,您需要关闭编辑器,knife 会拾取更改。
我想创建一个带刀的角色。所以我 运行:
> knife role create beautifulprayer
ERROR: RuntimeError: Please set EDITOR environment variable
没问题!只需添加编辑器即可。之后:
> knife role create beautifulprayer
这将打开我设置的编辑器 (subl) 并在编辑器打开后继续执行并将调用传播到 Chef 服务器,导致 Created role[beautifulprayer]
虽然编辑器仍然打开但我还没有保存任何东西。编辑时也会发生这种情况,结果是 Object unchanged, not saving
,而编辑器仍处于打开状态并且没有发生保存。
虽然我使用 vim 时不会发生这种情况,因为 knife 等待我关闭 VIM 然后将调用传播到厨师服务器。我想使用 sublime,但这目前不起作用,因为 knife 不会传播或检测到 sublime 的任何更改和保存。
您需要让您的编辑器"block"当前进程并且不分叉另一个进程。通常这被描述为 "no fork"、"foreground" 或 "wait" 选项:
示例:
Sublime 文本
export EDITOR="subl -w"
原子:
export EDITOR="atom -f"
MacVim:
export EDITOR="mvim -f"
文本伴侣 2:
export EDITOR="mate -w"
完成更改后,您需要关闭编辑器,knife 会拾取更改。