首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >没有这样的文件可加载-- rubygems (LoadError)

没有这样的文件可加载-- rubygems (LoadError)
EN

Stack Overflow用户
提问于 2010-05-24 19:10:51
回答 13查看 164.8K关注 0票数 66

我最近在fedora 12中安装了rails,我也是第一次接触linux。在Windows7上一切正常,但我在linux上遇到了很多问题。请帮帮我!

据我所知,我已经安装了所有必备组件来启动和运行基本的脚本/服务器。当我尝试脚本/服务器时,boot.rb弹出了这个错误。我想在这里给出一些细节:

rails、ruby和gem的安装目录,

代码语言:javascript
复制
[vineeth@localhost my_app]$ which ruby
/usr/local/bin/ruby

[vineeth@localhost my_app]$ which rails
/usr/bin/rails

[vineeth@localhost my_app]$ which gem
/usr/bin/gem

当我运行脚本/服务器时,这是一个错误。

代码语言:javascript
复制
[vineeth@localhost my_app]$ script/server
./script/../config/boot.rb:9:in `require': no such file to load -- rubygems (LoadError)
 from ./script/../config/boot.rb:9
 from script/server:2:in `require'
 from script/server:2

路径文件如下所示

代码语言:javascript
复制
[vineeth@localhost my_app]$ cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
 . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin/ruby:$PATH"

我认为这与路径文件有关。让我知道我需要在这里做什么修改。如果我还有其他需要修改的地方,请让我知道。

EN

回答 13

Stack Overflow用户

发布于 2012-09-12 18:10:05

由于安装了多个ruby副本,我在Ubuntu上也遇到了类似的问题。(1.8和1.9.1)不幸的是,我两个都需要。解决方案是使用:

代码语言:javascript
复制
$ sudo update-alternatives --config ruby
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/ruby1.8     50        auto mode
  1            /usr/bin/ruby1.8     50        manual mode
  2            /usr/bin/ruby1.9.1   10        manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.

完成该包安装后,安装成功。

票数 25
EN

Stack Overflow用户

发布于 2013-05-04 13:27:28

好吧,我是一个Ruby菜鸟,但我得到的修复结果与这里的答案略有不同,所以希望这能对其他人有所帮助(tl;dr:我使用RVM将系统Ruby版本切换到rubygems期望的版本)。

首先,列出Eimantas提到的所有红宝石是一个很好的起点:

代码语言:javascript
复制
> which -a ruby
/opt/local/bin/ruby
/Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
/Users/Brian/.rvm/bin/ruby
/usr/bin/ruby
/opt/local/bin/ruby

系统使用的默认Ruby实例似乎是1.8.7:

代码语言:javascript
复制
> ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-darwin10]

而Rubygems使用的版本是由RVM管理的1.9.2版本:

代码语言:javascript
复制
> gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

所以这绝对是问题所在。我自己并不经常使用Ruby (这只是我试图运行的构建系统脚本的一个依赖项),所以我并不关心哪个版本是出于其他目的而激活的。由于rubygems期望的是已经由RVM管理的1.9.2版本,所以我简单地使用RVM将系统切换到使用1.9.2版本作为默认版本:

代码语言:javascript
复制
> rvm use 1.9.2
Using /Users/Brian/.rvm/gems/ruby-1.9.2-p290

> ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.3.0]

这样做之后,我的“没有这样的文件”的问题就消失了,我的脚本开始工作了。

票数 18
EN

Stack Overflow用户

发布于 2014-03-13 23:19:52

我只想补充一下,在我的例子中,没有安装rubygems

运行sudo apt-get install rubygems解决了这个问题!

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2896485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档