修复debian中的ruby gems路径问题

问题描述 投票:0回答:1

我一直在撞墙,试图修复一条红宝石宝石之路,但没有成功。这是我的问题。在运行Debian GNU/Linux 6.0.6 (squeeze)的生产服务器中,我同时安装了ruby1.8.7,ruby1.9.1和jruby。由于某些原因,gem install使用jruby gems目录而不是ruby gems目录,这意味着我无法运行依赖已安装的ruby gems的ruby程序。我尝试使用

导出ruby gem PATH
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路径?

ruby linux gem debian
1个回答
0
投票

您是否正在使用RVM / rbenv之类的版本管理器?他们实现自定义路径修改。

您知道您以哪个用户身份运行,以及是否正在使用sudo?当然,这也会对路径解释产生巨大影响。

尝试一下:导航到每个Ruby实现的实际Bin文件夹,然后在其中运行gem env命令。这样可以使用本地化的Ruby版本运行命令(因此在大多数情况下也可以使用RubyGems)。这对于诊断这些类型的问题非常有帮助。

例如:

cd /some_path/Ruby-1.9.1/bin

gem env

© www.soinside.com 2019 - 2024. All rights reserved.