繁体   English   中英

无法以非root用户身份安装gem

[英]Not able to install gems as non-root user

我已经安装了RVM,它是作为root安装的。 权限是:

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

这是我尝试将sem安装为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用户身份安装gem,那么它将起作用。 sudoers文件中ubuntu的列出方式有问题吗?

ubuntu  ALL=(ALL) NOPASSWD:ALL

我确实使用VIM编辑了sudoers,它告诉我使用VISUDO,所以我不确定这是否造成了问题。

尝试使用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

sudo可能未加载RVM环境。

尝试运行:

sudo -i gem install bundler

-i是:“模拟初始登录”

抱歉,我目前无法自己验证。

我有同样的问题,这对我有用。 事实证明,所有其他方法都已安装到全局gemset中,这就是为什么该命令返回时没有错误的原因

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM