如何让 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.
============
切勿将 sudo
与 rvm 一起使用。
类型rvm gemset list
类型rvm gemset use global
类型gem install some_gem
全局 gemset 中的 gem 将在所有其他 gemset 中可用。如果要为特定项目创建 gemset,请执行以下操作:
rvm gemset create proj1_gems
rvm gemset list
rvm gemset use proj1_gems
要删除 gemset:
rvm gemset delete proj1_gems
rvm gemset list
ruby 的每个版本都有自己的 gemsets。您可以使用如下命令切换到特定的 ruby 版本和该版本的其中一个 gemset:
rvm use 2.0.0@proj1_gems
但一般来说,我会:
rvm use 2.0.0
rvm gemset list
rvm gemset use some_gemset_name_in_the_list
我从 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.
============
切勿将
sudo
与 rvm 一起使用。类型
rvm gemset list
类型
rvm gemset use global
类型
gem install some_gem
全局 gemset 中的 gem 将在所有其他 gemset 中可用。如果要为特定项目创建 gemset,请执行以下操作:
rvm gemset create proj1_gems
rvm gemset list
rvm gemset use proj1_gems
要删除 gemset:
rvm gemset delete proj1_gems
rvm gemset list
ruby 的每个版本都有自己的 gemsets。您可以使用如下命令切换到特定的 ruby 版本和该版本的其中一个 gemset:
rvm use 2.0.0@proj1_gems
但一般来说,我会:
rvm use 2.0.0
rvm gemset list
rvm gemset use some_gemset_name_in_the_list