如何为所有用户提供红宝石宝石?

时间:2015-01-26 11:30:39

标签: ruby gem

我安装了一个从gem运行此命令的Ruby gem:

gem install pushmeup

从root执行脚本时,gem运行良好。当我尝试从非root用户执行脚本时,我看到有关未找到此类gem的错误:

/usr/local/rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- pushmeup (LoadError)
        from /usr/local/rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
        from pushAPNS.rb:2:in `<main>'

1 个答案:

答案 0 :(得分:1)

编辑:

  

RVM为您提供分区的独立ruby设置。这意味着   红宝石,宝石和红宝石都是独立的,独立的 - 来自   系统,并相互之间。

https://rvm.io/gemsets/basics

============

  1. 切勿将sudo与rvm一起使用。

  2. 输入rvm gemset list

  3. 输入rvm gemset use global

  4. 输入gem install some_gem

  5. 全球宝石集中的宝石将在所有其他宝石集中提供。如果要为特定项目创建gemset,请执行以下操作:

    1. rvm gemset create proj1_gems

    2. rvm gemset list

    3. rvm gemset use proj1_gems

    4. 要删除宝石集:

      1. rvm gemset delete proj1_gems

      2. rvm gemset list

      3. 每个版本的ruby都有自己的gemsets。您可以使用以下命令切换到特定r​​uby版本和该版本的gemsets之一:

        rvm use 2.0.0@proj1_gems
        

        但一般来说,我这样做:

        1. rvm use 2.0.0
        2. rvm gemset list
        3. rvm gemset use some_gemset_name_in_the_list