在OS 10.10.2上运行Rails服务器时出现错误。

4

版本

Mac OS: OSX 10.10.2
Ruby: 2.2.1p85
Rails: 4.2.0

上下文

我正在按照www.installrails.com上的“安装Rails”教程进行操作。在遇到了许多错误后,终于完成了。我现在处于创建示例应用程序的最后一步,这一步很顺利,然后运行服务器。但是,我又遇到了另一个错误。

错误

以下是我所看到的:

/Users/Work/.rvm/gems/ruby-2.2.1/gems/json-1.8.2/lib/json/ext/parser.bundle: [BUG] Segmentation fault at 0x00000000000418
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]

-- 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.

-- Control frame information -----------------------------------------------

*A lot of information listed here*

-- Ruby level backtrace information ----------------------------------------

*A lot of information listed here*

-- Machine register context ------------------------------------------------

*A lot of information listed here*

-- C level backtrace information -------------------------------------------


*A lot of information listed here*

-- Other runtime information -----------------------------------------------

* Loaded script: bin/rails

* Loaded features:

*And then a long list of files listed here*

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
Don't forget to include the above Crash Report log file.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap: 6

帮助

我在想是不是json宝石库出了问题?

如果您需要被移除的信息,请告诉我。由于错误报告很长,所以为了简洁起见,我删除了其中一些代码,其中写着这里列出了很多信息


尝试从rvm中删除所有2.2.1版本的Ruby,并重新安装最新版本。 - Maxim
我遇到了完全相同的问题 :< - Juneyoung Oh
3个回答

5

根据@maxd的建议,我最终不得不卸载并重新安装Ruby。

以下是我遵循的步骤:

  1. 使用命令行 rvm remove 2.2.1 卸载 Ruby。
  2. 使用命令行 rvm install 2.2.1 重新安装 2.2.1 版本的 Ruby。
  3. 然后使用命令行 sudo gem install rails 重新安装 Rails。
  4. 接着,我使用 bundle install 命令重新安装了缺失的 gem 包。
  5. 接下来,我使用 gem install rubygems-update 命令将 Rubygems 从版本 2.0.14 更新到 2.1。
  6. 然后我使用 gem pristine --all 命令将 gem 包恢复到原始状态。
  7. 由于某些原因,我不得不重新运行 bundle install 命令,因为 actionmailer 4.2.0 不再显示为已安装,尽管它在第一次 bundle install 后的列表中。
  8. 最后运行 rails -v 命令,输出结果为 Rails 4.2.0,而不是错误代码。

因此,我运行了 rails server 命令,一切都很好。


1

我解决了这个问题。但我不确定这是一个好的方法。

首先,我重新安装了Ruby。因为我看起来像是版本问题。

rvm reinstall all

然后是gem install rails。完成这个过程后,我可以使用rails server命令运行服务器。

我希望这也能成为您的解决方案。祝您有愉快的一天:D


0

我在我的Mac mini(M1)上遇到了同样的问题。我在开发者论坛中找到了以下解决方案,对我很有效。

sudo arch -x86_64 gem install ffi

Then

arch -x86_64 pod install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接