Ruby最近停止了我兄弟的机器.
gem 命令rails serverrails console全部失败,出现以下错误:
$ irb
irb(main):001:0> require 'digest/sha1'
LoadError: dlopen(~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish
Referenced from: ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
Expected in: flat namespace
in ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle - ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):1
from ~/.rbenv/versions/2.0.0-p0/bin/irb:12:in `<main>'
Run Code Online (Sandbox Code Playgroud)
他尝试了不同版本的Ruby.重新安装一切rvm.运行rvm implode并重新安装rvm.切换到rbenv.通过安装几个红宝石ruby-build.brew install ruby.
所有人都有同样的问题.
如果他卸载了所有红宝石,操作系统提供的版本/usr/bin/ruby就可以了.但它是1.8.7.
经过数小时的故障排除后,我们得出了以下解决方案.我希望它可以帮助你避免一些痛苦.
我正在尝试(没有太大成功)rake db:migrate在rails项目上运行,但它返回:
Could not find rake-10.4.2 in any of the sources
Run bundle install to install missing gems.
Run Code Online (Sandbox Code Playgroud)
我运行bundle install并且工作正常 - 安装了rake 10.4.2,但是当我跑:( rake --version由于某种原因你不能做rake -v ???)它显示:rake, version 0.9.6
我运行了捆绑更新rake并返回了我的宝石列表然后: Your bundle is updated!
为什么不进行rake更新?有什么东西我做错了(我刚开始使用rails btw - 所以这可能很简单)
任何帮助都非常感谢
我不是一个Ruby专家,但想知道发生了什么,因为我试图让指南针在节点应用程序中运行,但我的Ruby似乎已经坏了.打字:
ruby --version
Run Code Online (Sandbox Code Playgroud)
得到我:
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
Run Code Online (Sandbox Code Playgroud)
我安装了Homebrew,之前遇到过Ruby版本的问题,但它似乎已安装并正常工作.但是,当我使用gem输入请求时,我收到此错误:
$ gem -h
Error loading RubyGems plugin "/Users/user_dir/.rvm/gems/ruby-2.1.1@global/gems/executable-hooks-1.3.1/lib/rubygems_plugin.rb": dlopen(/Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method
Referenced from: /Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
in /Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle (LoadError)
Error loading RubyGems plugin "/Users/user_dir/.rvm/gems/ruby-2.1.1@global/gems/gem-wrappers-1.2.4/lib/rubygems_plugin.rb": dlopen(/Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method
Referenced from: /Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib in /Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/user_dir/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle (LoadError)
RubyGems is a sophisticated package manager for Ruby. This is a
basic help message containing pointers to more information.
Usage:
gem -h/--help …Run Code Online (Sandbox Code Playgroud)