【问题标题】:Rubygems on OSX missingOSX 上的 Rubygems 丢失
【发布时间】:2013-03-19 22:43:21
【问题描述】:

我觉得自己像个十足的白痴,但我整天都在为此工作,却一无所获。

我已经重新启动了几次,试图在我的 OSX 环境、RVM、Brew、Ruby 上完整安装 Ruby:每次我完成 Ruby 安装时,它都会在 ruby​​gems 安装时触底。

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

在安装 ruby​​ 2.0.0 时 ruby​​ 编译器开始在 ruby​​gems 安装部分运行之前一切正常。检查 usr/bin 下的 OSX 系统文件,我发现 ruby​​gems 也不存在(它应该默认存在于 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

【问题讨论】:

  • 尝试以下操作:echo ${LANG:-empty} 然后export LANG=en_US.utf-8。之后,再试一次。
  • @AGS 由于此处报告了类似问题:github.com/wayneeseguin/rvm/issues/1689 并在此处镜像:github.com/rubygems/rubygems/issues/516
  • 确认没有用,是另一个问题。
  • 谢谢@fmendez,试过了,但不高兴,lulalala 是正确的,这不是字节序列问题。也许有办法让我清理系统并重新开始?

标签: ruby rubygems osx-lion


【解决方案1】:

我今天在 rvm 中安装 ruby​​ v2 时遇到了完全相同的错误。我在 Ubuntu 上的用户帐户中需要使用“sudo”——并输入我的 sudo 帐户密码——才能安装操作系统依赖项。

您的问题提到运行rvm requirements安装 依赖项。从 v1.19 开始,这似乎是 rvm 中的新行为。它似乎安装了一堆依赖项就好了。但随后安装 ruby​​ 被炸毁了。

在较早的 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 成功。

【讨论】:

  • 作为参考,rvm requirements 在 rvm 1.19.0 中遗漏的“新”库是: build-essential dpkg-dev g++ g++-4.6 libapr1 libaprutil1 libdb4.8 libdpkg-perl libneon27-gnutls libstdc ++6-4.6-dev libsvn1 颠覆
【解决方案2】:

我认为问题在于 RVM 将您的依赖项放在哪里 - 全局与您的用户文件夹。摘自一本名为“使用 Rails 进行敏捷开发”的书:

首先,您需要确保已安装 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) 安装必要的操作系统依赖项的行。完成这些说明后,您可以继续安装 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 站点上的“安装故障排除”标题下列出的建议。

希望对你有用!

【讨论】:

  • 我确实发现我错过了一些 rvm 要求。排序后,rvm install 2.0.0 仍然会返回类似的错误。但之后运行 rvm rubygems latest 将成功安装 ruby​​gems。
【解决方案3】:

这对我有用:

rvm get head
rvm requirements
rvm install ruby-2.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-30
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多