Невозможно установить гем как пользователь без полномочий root - PullRequest
0 голосов
/ 17 сентября 2011

У меня установлен RVM, он был установлен как root.Разрешения:

drwxrwsr-x 23 root rvm   4096 2011-09-17 15:22 rvm

Вот пример моей попытки установить гем как sudo:

ubuntu@ip-10-2-15-243:/usr/local/rvm$ sudo gem install bundler
Successfully installed bundler-1.0.18
1 gem installed
Installing ri documentation for bundler-1.0.18...
Installing RDoc documentation for bundler-1.0.18...

ubuntu@ip-10-2-15-243:/usr/local/rvm$ gem list

*** LOCAL GEMS ***

rake (0.9.2)

Странно то, что если я "sudo su -", а затемустановить гем как root, он работает.Это проблема с тем, как ubuntu указан в файле sudoers?

ubuntu  ALL=(ALL) NOPASSWD:ALL

Я редактировал sudoers с помощью VIM, и он сказал мне использовать VISUDO, поэтому я не уверен, что это создало проблему.

Ответы [ 3 ]

1 голос
/ 17 сентября 2011

Попробуйте использовать rvmsudo вместо sudo.

Если это в контексте шеф-повара, вы можете использовать этот ресурс:

execute "gem-install-bundler" do
  user "root"
  command <<-COMMAND
    bash -c '
      source {{{/path/to/rvm}}}
      rvm use {{{ruby-version}}}
      gem install bundler
    '
  COMMAND
end
0 голосов
/ 15 марта 2012

У меня была такая же проблема, и у меня это сработало. Оказывается, все остальные методы установлены в глобальном наборе гемов, поэтому команда возвращает без ошибки

script 'bundle gems' do
  user 'root'
  code <<-EOH
    . "/usr/local/rvm/scripts/rvm"
    cd /your/directory
    rvm rvmrc trust
    BUNDLE_WITHOUT=test bundle install
    exit $?
  EOH
  interpreter 'bash'
end
0 голосов
/ 01 декабря 2011

Среда RVM, вероятно, не загружается с помощью sudo.

Попробуйте запустить:

sudo -i gem install bundler

-i: "имитировать начальный вход в систему"

Извините, но я могуне проверяю это сам в данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...