对于一台Macbook Pro(大约2011年)出现问题,我将硬盘换成了另一台Macbook Pro(大约在2008年)。
启动终端以启动rails应用程序服务器rails s
,服务器无法启动并显示错误
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
在rails s
命令之后:
/Users/maneuser/.rbenv/versions/2.3.4/lib/ruby/2.3.0/x86_64-darwin13/openssl.bundle:
[BUG] Illegal instruction at 0x0000011069880a
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin13]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
for more details.
Don't forget to include the above Crash Report log file in bug reports.
-- Control frame information -----------------------------------------------
c:0031 p:-17569493279562 s:0115 e:000114 TOP [FINISH]
c:0030 p:---- s:0113 e:000112 CFUNC :require
c:0029 p:0008 s:0109 e:000108 TOP /Users/maneuser/.rbenv/versions/2.3.4/lib/ruby/2.3.0/openssl.rb:13 [FINISH]
c:0028 p:---- s:0107 e:000106 CFUNC :require
c:0027 p:0010 s:0103 e:000102 TOP /Users/maneuser/.rbenv/versions/2.3.4/lib/ruby/2.3.0/securerandom./Users/maneuser/.rbenv/versions/2.3.4/lib/ruby/2.3.0/x86_64-darwin13/openssl.bundle: [BUG] Illegal instruction at 0x0000010dd2480a
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin13]
Ruby是通过rbenv安装的。
对我而言,给定磁盘上的整个环境在另一台计算机上的行为方式并不相同,这是不合逻辑的。 看起来ruby以某种方式与运行它的硬件版本相关联。这个假设错了吗?
获得ruby工作版本的最佳方法是什么,考虑到这个磁盘可能还需要移动到另一台机器,因为条件应该是临时的?
答案 0 :(得分:1)
你可以在这里看到来自openssl的问题。
无论您的计算机上安装了什么OpenSSL,都会动态链接到已安装的库,通常在您安装Ruby时。
旧机器可能是32位而不是64位。
您可以在此处查看处理器类型:
https://support.apple.com/en-us/HT201948
短版本,Core Solo和Core Duo是32位,Core 2 Duo,后来是64位。
通过rbenv或ruby-install删除并重新安装Ruby应该可以解决您的问题,但是如果您确实在新硬件上启动了硬盘驱动器,我有点惊讶您没有比使用Ruby更麻烦的事情