OSX上的Rubygems丢失了

时间:2013-03-19 22:43:21

标签: ruby rubygems osx-lion

我觉得自己像个白痴,但我整天都在为此而烦恼,并且没有在哪里。

我已经多次重新尝试在我的OSX环境,RVM,Brew,Ruby上完全安装Ruby:每次我进入Ruby安装时,它都会在rubygems安装上达到最低点。

我不得不重新开始的原因是,在我第一次成功安装(使用打包的一体化RubyInstaller)之后,RVM不会在Jewellerybox中更新,因此我无法管理我的宝石 - 导致的问题通过生成在/ usr / local系统上的初始Ruby安装,而不是在我自己的目录下。为了解决这个问题,我卸载了所有的Ruby东西并重新开始。

一切正常,直到ruby编译器在安装ruby 2.0.0时开始解决rubygems安装部分。检查usr / bin下的OSX系统文件我发现rubygems也不存在(它应该默认存在于OSX上)。有任何想法吗? (请注意,XCode是最新的并且安装了命令行工具)

最后一次尝试是:

$ rvm get head --autolibs=3 # get the latest RVM and build required libs
$ rvm requirements # just in case, install all other required stuff
$ rvm remove 2.0.0
$ rvm install ruby-2.0.0

。 。 。它会触发以下错误:

[2013-03-19 23:21:50] /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/bin/ruby
Exception `LoadError' at /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/rubygems.rb:1073 - cannot load such file -- rubygems/defaults/operating_system
Exception `LoadError' at /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/rubygems.rb:1082 - cannot load such file -- rubygems/defaults/ruby
mkdir -p /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0

...

install -c -m 0755 /var/folders/nq/wkj89k854tl0w97n68qdn820pzk_51/T/gem.84634 /Users/matthew.evans/.rvm/rubies/ruby-2.0.0-p0/bin/gem
rm /var/folders/nq/wkj89k854tl0w97n68qdn820pzk_51/T/gem.84634
ERROR:  While executing gem ... (NoMethodError)
    undefined method `fu_stream_blksize' for #<Gem::Commands::SetupCommand:0x007ffd0e054818>
Installing RubyGems
Installing gem executable

3 个答案:

答案 0 :(得分:3)

我今天在rvm中安装ruby v2时遇到了完全相同的错误。我在Ubuntu的用户帐户中需要使用'sudo' - 并输入我的sudo帐户密码 - 以便安装操作系统依赖项。

您的问题提及正在运行rvm requirements安装依赖项。这似乎是rvm中的新行为,从v1.19开始。它好像安装了一堆依赖项。但随后安装了红宝石轰炸。

在早期的rvm版本中,输入rvm requirements只会列出 rvm和ruby的依赖关系,就像Archonic's回答一样。

我键入了rvm implode,然后重新开始:

\curl -L https://get.rvm.io | bash -s 1.18.21
source /home/deploy/.rvm/scripts/rvm
rvm requirements

此时我可以安装rvm所说的rvm和ruby所需的库/工具,然后rvm install ruby-2.0.0-p0成功。

答案 1 :(得分:1)

我认为问题在于RVM放置您的依赖项 - 全局与您的用户文件夹。来自一本名为“带导轨的敏捷开发”的书:

  

首先,您需要确保安装了Xcode 3或更高版本......

$ xcodebuild -version
  

如果安装了Xcode版本3,则需要单独安装Git版本控制系统。通过运行以下命令验证安装:

$ git --version
  

接下来,安装RVM本身:

$ curl -L https://get.rvm.io | bash -s stable
  

退出命令窗口或终端应用程序并打开一个新应用程序。这会导致重新加载.bash_login。执行以下命令,该命令提供针对特定操作系统定制的其他安装说明:

$ rvm requirements
  

查找告诉您如何为Ruby(MRI)安装必要的OS依赖项的行。完成这些说明后,您可以继续安装Ruby解释器:

$ rvm install 2.0.0
  

上一步将需要一段时间,因为它下载,配置和编译必要的可执行文件。完成后,使用该环境并安装rails:

$ rvm use 2.0.0
$ gem install rails --version 4.0.0.beta1 --no-ri --no-rdoc
  

除了rvm use语句之外,上述每条指令只需要执行一次。每次打开shell窗口时都需要重复使用rvm use语句。 use关键字是可选的,因此您可以将其缩写为rvm 2.0.0。您还可以使用以下命令选择使其成为新终端会话的默认Ruby解释器:

$ rvm --default 2.0.0
  

您可以使用以下命令验证安装是否成功:

$ rails -v

如果您遇到问题,请尝试使用rvm网站上的“安装疑难解答”标题下列出的建议。

希望能帮到你!

答案 2 :(得分:1)

这对我有用:

rvm get head
rvm requirements
rvm install ruby-2.0
相关问题