如何让 ruby 宝石对所有用户可用?

How to make ruby gems available to all users?

我从 root 安装了一个 Ruby gem 运行 这个命令:

gem install pushmeup

gem 从 root 执行脚本时效果很好。当我尝试从非 root 用户执行脚本时,我看到有关 gem not found:

的错误
/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>'

编辑:

RVM gives you compartmentalized independent ruby setups. This means that ruby, gems and irb are all separate and self-contained - from the system, and from each other.

https://rvm.io/gemsets/basics

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

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

  2. 类型rvm gemset list

  3. 类型rvm gemset use global

  4. 类型gem install some_gem

全局 gemset 中的 gem 将在所有其他 gemset 中可用。如果要为特定项目创建 gemset,请执行以下操作:

  1. rvm gemset create proj1_gems

  2. rvm gemset list

  3. rvm gemset use proj1_gems

要删除 gemset:

  1. rvm gemset delete proj1_gems

  2. rvm gemset list

ruby 的每个版本都有自己的 gemsets。您可以使用如下命令切换到特定的 ruby 版本和该版本的其中一个 gemset:

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