我用优胜美地得到了一个新的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人,所以我很想有人告诉我这是一个简单的解决办法。
请,谢谢你。
答案 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
还有更多可用的命令,但这些命令可以帮助您入门。
答案 2 :(得分:0)
有趣的是,正确的答案最终成为@vgoff在评论中所说的。告诉IT人他做错了。
我正处于一个为期4个月的大型项目中,无法擦拭我的机器,直到它结束。我无法解决rbenv或rvm的问题,因为它总是导致相同的错误。我甚至无法安装它们。
我很欣赏所有的答案,但最后,这个边缘案例只能通过全新安装来解决。