优胜美地,红宝石问题

时间:2015-07-07 01:36:32

标签: ruby yosemite

我用优胜美地得到了一个新的Macbook Pro,我在之前的机器上安装了Mavericks。 IT说他从我的旧机器上重新成像,但是有很多东西丢失了。我没有想太多,匆忙我刚刚开始手动安装我的所有全局变量(节点,npm,mongodb,sass)以及我缺少的其他软件。

问题 我似乎无法获得与工作相关的任何红宝石。所有gem安装尝试都会出现相同的错误。

/Library/Ruby/Site/2.0.0/rubygems/specification.rb:15:in `require': cannot load such file -- rubygems/util/stringio (LoadError)
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:15:in `<top (required)>'
from /Library/Ruby/Site/2.0.0/rubygems.rb:1204:in `require'
from /Library/Ruby/Site/2.0.0/rubygems.rb:1204:in `<module:Gem>'
from /Library/Ruby/Site/2.0.0/rubygems.rb:115:in `<top (required)>'
from <internal:gem_prelude>:1:in `require'
from <internal:gem_prelude>:1:in `<compiled>'

请记住,我还没有触及ruby,我甚至没有使用自制软件,因为它安装了ruby我尝试时会遇到同样的错误。

ruby​​ -v给了我这个:

ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

echo $ PATH

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/ryanore/npm-global:/data/db:/usr/local/bin/mongodb/bin

我很有可能需要完全重新安装Yosemite,但我不是Ruby人,所以我很想有人告诉我这是一个简单的解决办法。

请,谢谢你。

3 个答案:

答案 0 :(得分:2)

您目前正在使用OS X默认的Ruby安装。似乎还缺少一些宝石装置。

我建议安装RVM并使用Ruby Version Manager安装您首选的Ruby版本(我会选择2.2)*。

这将允许您安装更新的Ruby版本并保持操作系统的Ruby安装完好。

安装干净的Ruby更新版本后,只需使用rvm(rum use 2.2)选择更新版本并安装所需的所有宝石 - 您可能希望从应用程序的文件夹中运行bundle install,如果你正在使用Bundler(这是Rail的默认gem管理器)。

不需要为这么小的事情重新安装整个系统,但是有一个干净的更新Ruby安装总是很有趣。

P.S。

在安装任何需要编译的gem之前,请确保安装XCode和命令行工具。 ruby安装也可能需要XCode。

*确保遵循RVM's说明并在安装任何宝石之前选择新安装的Ruby版本。您可能希望将新安装的Ruby版本作为用户的默认版本:rvm use 2.2 --default

答案 1 :(得分:1)

安装Xcode和命令行工具。通过在终端

中运行来安装命令行工具
xcode-select --install

对于 Ruby版本管理器,我更喜欢rbenv。使用系统ruby会遇到太多问题。

安装RBENV:

克隆回购:

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

将Rbenv添加到$ PATH - 在终端中运行:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

将rbenv init添加到shell中 - 在终端中运行:

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

重新启动您的终端以进行更改

你应该能够跑:

 type rbenv

哪个应该输出:“rbenv是一个函数”

现在将Ruby-build安装为插件

克隆回购:

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

还应该安装一些推荐的库以避免依赖性问题 - 假设您使用的是自制程序:

brew install openssl libyaml libffi

现在安装Ruby:

列出可用版本

rbenv install -l

安装版本

rbenv install 2.2.0

要全局设置:

rbenv global 2.2.0

还有更多可用的命令,但这些命令可以帮助您入门。

https://github.com/sstephenson/rbenv

https://github.com/sstephenson/ruby-build#readme

答案 2 :(得分:0)

有趣的是,正确的答案最终成为@vgoff在评论中所说的。告诉IT人他做错了。

我正处于一个为期4个月的大型项目中,无法擦拭我的机器,直到它结束。我无法解决rbenv或rvm的问题,因为它总是导致相同的错误。我甚至无法安装它们。

我很欣赏所有的答案,但最后,这个边缘案例只能通过全新安装来解决