安装红宝石之后,运行新的宝石将返回“无法找到”错误 [英] After installing ruby gems, running the new gem returns "Could not find" errors

查看:110
本文介绍了安装红宝石之后,运行新的宝石将返回“无法找到”错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

新鲜的Ubuntu 10.04安装:



我很难让我的gem install过程很好地发挥作用。任何时候我安装一个gem,它都会经历一个很好,直接的过程,不会有问题:

  $ gem install rails 
成功安装了rails-3.2.2
1 gem install

然后验证版本,也许是一个简单的rails -v?不要:

  $ rails -v 
/home/pragone/.rvm/rubies/ruby-1.9.3- p125 / lib / ruby​​ / site_ruby / 1.9.1 / ruby​​gems / dependency.rb:247:in`to_specs':无法在[bigdecimal-1.1.0,io-console-0.3,json之间找到railties(> = 0) -1.5.4,minitest-2.5.1,rake-0.9.2.2,rdoc-3.9.4](Gem :: LoadError)
from /home/pragone/.rvm/rubies/ruby-1.9.3- p125 / lib / ruby​​ / site_ruby / 1.9.1 / ruby​​gems / dependency.rb:256:在`to_spec'
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby /site_ruby/1.9.1/rubygems.rb:1210:in`gem'
from /home/pragone/.rvm/gems/ruby-1.9.3-p125/bin/rails:18:in`<主>'

所以让我们确保安装了railties:

  $ gem install railties 
成功安装railties-3.2.2
1 gem已安装

然后尝试重新获得rails的版本:

  $ rails -v 
/home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubyge ms / dependency.rb:247:in`to_specs':无法找到[bigdecimal-1.1.0,io-console-0.3,json-1.5.4,minitest-2.5.1,rake -0.9.2.2,rdoc-3.9.4](Gem :: LoadError)
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/ rubygems / dependency.rb:256:在`to_spec'
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210 :`gem'
from /home/pragone/.rvm/gems/ruby-1.9.3-p125/bin/rails:18:in`< main>'

几乎所有我安装的gem都会发生这种情况。我试图寻找一些关于如何用gem安装的文档,但找不到任何东西。似乎有些宝石安装在一个位置,另一些位于另一个位置,其中一个位置不在我的路径中。任何想法发生了什么?

编辑:请求的信息:

  RubyGems环境:
- RUBYGEMS版本:1.8.17
- RUBY VERSION:1.9.3(2012-02-16 patchlevel 125)[x86_64-linux]
- 安装目录:/home/pragone/.rvm/gems /ruby-1.9.3-p125
- RUBY EXECUTABLE:/home/pragone/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
- 可执行目录:/ home / pragone / .rvm / gems / ruby​​-1.9.3-p125 / bin
- RUBYGEMS平台:
- ruby​​
- x86_64-linux
- 创业板路径:
- / home / pragone / .rvm / gems / ruby​​-1.9.3-p125
- /home/pragone/.rvm/gems/ruby-1.9.3-p125@global
- 创业板配置:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- gem=> --no-ri --no-rdoc
- 远程来源:
- http://rubygems.org/

和rvm信息:

 系统:

系统:
uname:Linux domU-12-31-39-0A-34-6E 2.6.32-311-ec2#23-Ubuntu SMP Thu Dec 12 11:14:35 UTC 2010 x86_64 GNU / Linux
bash:/ bin / bash => GNU bash,版本4.1.5(1)-release(x86_64-pc-linux-gnu)
zsh:=>未安装

rvm:
版本:rvm 1.10.3,由Wayne E. Seguin< wayneeseguin@gmail.com>,Michal Papis< mpapis@gmail.com> [https:// rvm .beginrescueend.com /]
已更新:2小时40分钟7秒前

家园:
宝石:未设置
ruby​​:not设置

二进制文件:
ruby​​:/ usr / bin / ruby​​
irb:/ usr / bin / irb
gem:/ usr / bin / gem
rake:/home/pragone/.rvm/bin/rake

环境:
P ATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/pragone/.rvm/bin
GEM_HOME:
GEM_PATH:
MY_RUBY_HOME:
IRBRC:
RUBYOPT:
gemset:

另外,通过上面列出的PATH,我在试图运行rails时得到了这个结果:

 程序'rails'目前未安装。您可以通过键入以下命令来安装它:
sudo apt-get install rails

然而,上述

  /home/pragone/.rvm/gems/ruby- 1.9.3-p125 / bin 
/home/pragone/.rvm/gems/ruby-1.9.3-p125/gems

我尝试重新运行〜/ .rvm / scripts / rvm,但似乎并没有将正确的路径添加到我的PATH中。我也做了一些工作安装(我的MacBook Pro,运行os x 10.7),并验证〜/ .rvm / scripts / rvm正在将工作安装中的项目添加到我的PATH中,但不是

哪个rails :被黑客入侵的路径:

  $ which rails 
/home/pragone/.rvm/gems/ruby-1.9.3-p125/bin/rails

which rails :fresh PATH:(no response;据推测未找到)

  $哪个铁轨
$


<

  $ rvm use ruby​​- 1.9.3-p125  - 默认

好像修复了它。



PS:谢谢你看这个。为了您的娱乐,如果您没有在HN上看到它(它是python,但仍然是一个好笑): https://gist.github .com / 289467


Fresh Ubuntu 10.04 install:

I'm having some trouble getting my gem install process to play nicely. Any time I install a gem, it goes through a nice, straightforward process with no problems:

$ gem install rails
Successfully installed rails-3.2.2
1 gem installed

And then to verify the version, perhaps a simple "rails -v"? Nope:

$ rails -v
/home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem'
from /home/pragone/.rvm/gems/ruby-1.9.3-p125/bin/rails:18:in `<main>'

So let's make sure railties is installed:

$ gem install railties
Successfully installed railties-3.2.2
1 gem installed

And try to get the version of rails again:

$ rails -v
/home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem'
from /home/pragone/.rvm/gems/ruby-1.9.3-p125/bin/rails:18:in `<main>'

This happens with nearly every gem I install. I tried searching for some sort of documentation of how things are installed with gem, but couldn't find anything. It seems as though some gems are installed in one location, and some in another, and one of those locations is not in my path. Any ideas what's going on here?

EDIT: Requested information:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.17
  - RUBY VERSION: 1.9.3 (2012-02-16 patchlevel 125) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/pragone/.rvm/gems/ruby-1.9.3-p125
  - RUBY EXECUTABLE: /home/pragone/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
  - EXECUTABLE DIRECTORY: /home/pragone/.rvm/gems/ruby-1.9.3-p125/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/pragone/.rvm/gems/ruby-1.9.3-p125
     - /home/pragone/.rvm/gems/ruby-1.9.3-p125@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-ri --no-rdoc"
  - REMOTE SOURCES:
     - http://rubygems.org/

And rvm info:

system:

  system:
    uname:       "Linux domU-12-31-39-0A-34-6E 2.6.32-311-ec2 #23-Ubuntu SMP Thu Dec 2 11:14:35 UTC 2010 x86_64 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.10.3 by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.beginrescueend.com/]"
    updated:      "2 hours 40 minutes 7 seconds ago"

  homes:
    gem:          "not set"
    ruby:         "not set"

  binaries:
    ruby:         "/usr/bin/ruby"
    irb:          "/usr/bin/irb"
    gem:          "/usr/bin/gem"
    rake:         "/home/pragone/.rvm/bin/rake"

  environment:
    PATH:         "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/pragone/.rvm/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_RUBY_HOME: ""
    IRBRC:        ""
    RUBYOPT:      ""
    gemset:       ""

Additionally, with the above listed PATH, I get this when trying to run rails:

The program 'rails' is currently not installed.  You can install it by typing:
sudo apt-get install rails

However, the aforementioned errors occurred when I was hacking around and added these to my PATH:

/home/pragone/.rvm/gems/ruby-1.9.3-p125/bin
/home/pragone/.rvm/gems/ruby-1.9.3-p125/gems

I've tried re-running ~/.rvm/scripts/rvm, but it doesn't seem like it's adding the correct paths to my PATH. I've also done some picking around on a working-install (my macbook pro, running os x 10.7), and verified that ~/.rvm/scripts/rvm is adding items to my PATH in the working install, but not on the ubuntu box.

which rails: Hacked PATH:

$ which rails
/home/pragone/.rvm/gems/ruby-1.9.3-p125/bin/rails

which rails: fresh PATH: (no response; presumably not found)

$ which rails
$

解决方案

Seems the missing link was

$ rvm use ruby-1.9.3-p125 --default

Seems to have fixed it.

PS: Thanks for looking at this. For your entertainment, if you didn't see it on HN yet (it's python, but still a good chuckle): https://gist.github.com/289467

这篇关于安装红宝石之后,运行新的宝石将返回“无法找到”错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆