我一直在撞墙,试图修复红宝石宝石的路径但没有成功。这是我的问题。在运行Debian GNU/Linux 6.0.6 (squeeze)
的生产服务器中,我安装了ruby1.8.7,ruby1.9.1和jruby。由于某些原因,gem install使用jruby gems目录而不是ruby gems目录,这意味着我无法运行依赖于已安装的ruby gems的ruby程序。我试图使用
export PATH=/var/lib/gems/1.8/bin:$PATH
但没有改变。
这是我的.bashrc
文件
# ~/.bashrc: executed by bash(1) for non-login shells.
export PS1='\h:\w\$ '
umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
JAVA_HOME=/usr/bin/jdk1.6.0_21/
PATH="/usr/bin/jdk1.6.0_21/bin:$PATH"
PATH="$PATH:/opt/jruby/bin/"
export PATH
export GEM_PATH=/usr/lib/ruby/gems/1.8
环境
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.6 (squeeze)
Release: 6.0.6
Codename: squeeze
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.16
- RUBY VERSION: 1.8.7 (2011-12-27 patchlevel 330) [java]
- INSTALLATION DIRECTORY: /opt/jruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/jruby/bin/jruby
- EXECUTABLE DIRECTORY: /opt/jruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-java-1.6
- GEM PATHS:
- /opt/jruby/lib/ruby/gems/1.8
- /usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "install" => "--no-rdoc --no-ri --env-shebang"
- "update" => "--no-rdoc --no-ri --env-shebang"
- REMOTE SOURCES:
- http://rubygems.org/
which ruby
/usr/bin/ruby
which gem
/opt/jruby/bin//gem
这是我在运行ruby文件时遇到的错误
usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- net/https (LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
我一直在努力改变这一点,但没有运气。如何在Debian上更改gem路径?
答案 0 :(得分:0)
您使用的是RVM / rbenv等版本管理器吗?他们实现自定义路径修改。
您知道自己正在使用哪个用户以及是否使用sudo
?这当然也会对路径解释产生巨大影响。
试试这个:导航到每个Ruby实现的实际Bin
文件夹,然后在那里运行gem env
命令。这具有使用Ruby的本地化版本运行命令的效果(因此在大多数情况下也是RubyGems)。这对诊断这些类型的问题非常有帮助。
例如:
cd /some_path/Ruby-1.9.1/bin
gem env