通过命令查看gem的安装位置、源等信息
$gem env
如果需要修改gem的默认安装位置,比如由于没有root权限,希望gems都默认安装到用户目录下
修改~/.gemrc文件
增加内容
gempath:
- /home/haoxiang/.gem
- /usr/lib/ruby/gems/1.8
gemhome: /home/haoxiang/.gem
通过命令查看gem的安装位置、源等信息
$gem env
如果需要修改gem的默认安装位置,比如由于没有root权限,希望gems都默认安装到用户目录下
修改~/.gemrc文件
增加内容
gempath:
- /home/haoxiang/.gem
- /usr/lib/ruby/gems/1.8
gemhome: /home/haoxiang/.gem
用Rails的时候需要配环境,配环境的大头是安装gem,安装gem的时候就会遇到各种令人崩溃的问题…Orz…
环境是Debian,需要安装refinerycms,出现了gem版本过低的错误。
比较通用的做法是
$gem update --system
但是可能会遇到这个错误
ERROR: While executing gem ... (RuntimeError)
gem update --system is disabled on Debian.
RubyGems can be updated using the official Debian
repositories by aptitude or apt-get.
这种情况下就需要自己动手。
这里需要安装的是gem 1.3.6的版本。
先得到rubygems-update-1.3.6.gem,可以直接下载得到
$wget http://gems.rubyforge.org/gems/rubygems-update-1.3.6.gem
然后安装这个叫作rubygems-update的gem
$sudo gem install rubygems-update-1.3.6.gem
也可以
$sudo gem install rubygems-update -v=1.3.6
然后执行update_rubygems这个脚本
这个文件的位置由之前gem的设定而定。
$which update_rubygems
/home/XXX/.gem/bin/update_rubygems
执行这个脚本update_rubygems
$sudo /home/haoxiang/.gem/bin/update_rubygems
如果遇到错误
/usr/local/lib/site_ruby/1.8/rubygems.rb:777:in `report_activate_error': Could not find RubyGem rubygems-update (>= 0) (Gem::LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems.rb:211:in `activate'
from /usr/local/lib/site_ruby/1.8/rubygems.rb:1056:in `gem'
from /home/haoxiang/.gem/bin/update_rubygems:18
可以试着先
$su
以root身份执行
$/home/haoxiang/.gem/bin/update_rubygems
初用Rails,很多细节不是很清楚。
由于需要使用actionwebservice这个gem,所以就用gem install actionwebservice安装了。
但是安装之后,仍然无法使用相关的method。
这是由于虽然gem被安装了,但是没有在自己的project里面设定使用它。
修改config/environment.rb
在循环中增加config.gem “actionwebservice”
重新启动Server即可