无法设置我的数据库

时间:2018-04-18 16:08:18

标签: ruby-on-rails

我在Raspberry Pi 3 / Raspbian上运行Ruby on Rails(可能不是一个好主意),虽然我很少遇到任何问题。但是,当我从SQLite切换到我的数据库的PostgreSQL时,我得到了这个奇怪的错误消息,我无法解决这个问题。我使用生成我的应用程序的rails new myapp --database=postgresql创建了一个新的Rails应用程序。然后我继续发布rails db:setup,这是我遇到问题的地方。我使用rails db:setup &> error_message.txt将错误消息捕获到文本文件中,这会创建一个冗长的文件。前两行可能是最有趣的:

/usr/local/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/compile_cache/iseq.rb:18: [BUG] Bus Error at 0x00aaa33b
ruby 2.5.1p57 (2018-03-29 revision 63029) [armv7l-linux-eabihf]

我的问题基本上是: Ruby on Rails与ARM架构不兼容吗?

更新1:我能够通过在require 'bootsnap/setup'下注释掉config/boot.rb来解决此错误,但之后我遇到了此错误:

** Invoke db:setup (first_time)
** Invoke db:schema:load_if_ruby (first_time)
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
/usr/local/lib/ruby/gems/2.5.0/gems/rb-inotify-0.9.10/lib/rb-inotify/notifier.rb:54: [BUG] Segmentation fault at 0x00000023
ruby 2.5.1p57 (2018-03-29 revision 63029) [armv7l-linux-eabihf]

更新2:我决定在Debian 9上设置我的开发环境(在x86架构上执行),而不是我的Raspbian(ARM架构)。我现在可以确认Ruby on Rails执行上述命令而不会产生任何错误。

2 个答案:

答案 0 :(得分:1)

Helo Mihkel,

我有RPi 2而且我没有用作开发机器,因为这些类型的板适用于物联网。我不知道您的操作系统是什么,但我强烈建议您将开发环境更改为Docker或Vagrant。

无论如何,让我们来看看这个错误

当我谷歌时,我找到了这些解决方案

所以,似乎SD问题或更新。 (如果你解决了,请告诉我)

谢谢。

答案 1 :(得分:1)

我找到了最后一个错误的解决方案 - 你必须禁用Spring

要执行此操作,请转到您的主页/用户名文件夹,然后键入ls -a

在那里你看到一个名为.bashrc

的文件

打开此文件:

$nano .bashrc

在底部,您可以添加以下行:

export DISABLE_SPRING=true 

保存并退出文件,

然后输入命令行以激活它:

$source ~/.bashrc