Ruby 使用RVM的用户特定gems

Ruby 使用RVM的用户特定gems,ruby,rvm,Ruby,Rvm,我在服务器上使用RVM来管理ruby。我有一个gem,它是一个守护进程,我想作为一个非特权用户运行,但是,当我尝试这样做时,我得到一个权限错误: statusbot@host config]$ statusbot run fatal: Not a git repository (or any of the parent directories): .git /usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.2/lib/bundler/def

我在服务器上使用RVM来管理ruby。我有一个gem,它是一个守护进程,我想作为一个非特权用户运行,但是,当我尝试这样做时,我得到一个权限错误:

statusbot@host config]$ statusbot run
fatal: Not a git repository (or any of the parent directories): .git
/usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.2/lib/bundler/definition.rb:235:in `rescue in lock': There was an error while trying to write to Gemfile.lock. It is likely that  (Bundler::InstallError)
you need to allow write permissions for the file at path: 
/usr/local/rvm/gems/ruby-1.9.3-p374/gems/StatusBot-0.0.4/Gemfile.lock
    from /usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.2/lib/bundler/definition.rb:220:in `lock'
    from /usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.2/lib/bundler/environment.rb:34:in `lock'
    from /usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.2/lib/bundler/runtime.rb:43:in `setup'
    from /usr/local/rvm/gems/ruby-1.9.3-p374/gems/bundler-1.3.2/lib/bundler.rb:120:in `setup'
    from /usr/local/rvm/gems/ruby-1.9.3-p374/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:79:in `setup'
    from /usr/local/rvm/gems/ruby-1.9.3-p374/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:91:in `<top (required)>'
    from /usr/local/rvm/rubies/ruby-1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
    from /usr/local/rvm/rubies/ruby-1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
    from /usr/local/rvm/rubies/ruby-1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
    from /usr/local/rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:9:in `<main>'

根据bundler的一位作者
Gemfile的以下文章,这看起来像是gem的一个问题。lock
不应该是gem的一部分

尝试:


根据bundler的一位作者
Gemfile的以下文章,这看起来像是gem的一个问题。lock
不应该是gem的一部分

尝试:


在多用户模式下使用RVM需要:

  • RVM是使用
    sudo
    而不是
    root
    用户安装的
  • 所有想要安装rubies/gems的用户必须在组
    rvm
    中(当使用
    id1
    进行检查时,即使您在
    rvm
    组中,也需要一个额外的用例OSX-它可能对外壳仍然无效,需要重新启动)

  • 额外的用例是混合模式,其中只有RVM的一部分在系统中,用户可以在
    $HOME
    中创建gemset,请在RVM站点阅读更多信息:

    在多用户模式下使用RVM需要:

  • RVM是使用
    sudo
    而不是
    root
    用户安装的
  • 所有想要安装rubies/gems的用户必须在组
    rvm
    中(当使用
    id1
    进行检查时,即使您在
    rvm
    组中,也需要一个额外的用例OSX-它可能对外壳仍然无效,需要重新启动)

  • 额外的用例是混合模式,其中只有RVM的一部分在系统中,用户可以在
    $HOME
    中创建gemset,请在RVM站点阅读更多信息:

    相同错误。总体问题是由于非特权用户无法安装自己的gems。我已经编辑了这个问题,以获得更多关于这个问题的细节。同样的错误。总体问题是由于非特权用户无法安装自己的gems。我对问题进行了编辑,以了解更多细节。
    [statusbot@host ~]$ gem install ~/StatusBot-0.0.5.gem 
    ERROR:  While executing gem ... (Errno::EACCES)
        Permission denied - /usr/local/rvm/gems/ruby-1.9.3-p374/gems/StatusBot-0.0.5
    
     sudo rm -f /usr/local/rvm/gems/ruby-1.9.3-p374/gems/StatusBot-0.0.4/Gemfile.lock