Как я могу использовать sudo для ресурса gem_package

Я хочу установить службу bluepill, но когда я пытаюсь сделать это без sudo, я получаю следующую ошибку.

vagrant@leibniz-my-app:~$ gem install bluepill
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /opt/vagrant_ruby/lib/ruby/gems/1.8 directory.

Затем, если я хочу повторно использовать для этого кулинарную книгу bluepill, у меня возникает эта проблема, потому что эта кулинарная книга использует gem_package и у него нет опции sudo.

gem_package "bluepill" do
  version node["bluepill"]["version"] if node["bluepill"]["version"]
  action :install
end

Тогда мой вопрос: можно ли использовать sudo в ресурсе gem_package?


person Robert    schedule 13.02.2014    source источник


Ответы (1)


Клиент Chef всегда запускается с правами root, если не указано иное. Если вы работаете как root, вам не нужен sudo.

person sethvargo    schedule 13.02.2014
comment
Я использую Chef-соло. Он тоже работает как root ?? - person Robert; 14.02.2014
comment
Да, он запускается как root - person sethvargo; 14.02.2014
comment
узел сообщает мне, что bluepill был установлен, но когда я проверяю экземпляр, команда bluepill не найдена. - person Robert; 14.02.2014
comment
Под каким пользователем вы входите? Bluepill устанавливается как гем Chef, поэтому интерфейс командной строки изначально отсутствует в $PATH. - person sethvargo; 14.02.2014
comment
Если вы управляете вещами с помощью Chef, вам никогда не следует работать в системе вручную. - person sethvargo; 14.02.2014