自从切换到基于Mac的RoR开发以来,我偶尔会看到Webrick在打印“非法指令4”后死亡。
OSX 10.7.2,10.7.3和现在的10.7.4
ruby 1.9.2p290
rails 3.2.2,以及以3.1开头的各种其他版本
到目前为止,它已经相当无害了,我只需按向上箭头键,按回车键,然后重启服务器,一切都很好。
我注意到在将新文件添加到开发环境后,几乎总会导致这种情况。但是,当我最近没有添加新文件时,它就发生了。但它几乎总是在一些文件更改后立即发生。换句话说,当我只是测试内容时,我认为它不会发生,似乎需要某种文件系统更改来触发它。
刚才,它发生了,但这次它似乎以某种方式阻止了Webrick,并且在重新启动Webrick之后,它不会响应,我不得不重新启动以清除这个状况。所以这开始看起来不那么无害,更像是一个迫在眉睫的开发生产力问题。
其他任何Mac开发者都看到了这个?
答案 0 :(得分:1)
我在其中一个模型上实现了一个范围后遇到了这个问题
scope :list_only, lambda { show_on_list }
(其中show_on_list
是实例方法)。将方法重写为
scope :list_only, where("SomeSQLHere")
(我在SomeSQLHere
中使用SQL)它工作得很好。我意识到这并不能解决“非法指令4”的含义,但问题可能源于一些不好的范围?
答案 1 :(得分:-3)
使用非webrick应用服务器时是否存在类似问题?我鼓励使用您部署的相同应用服务器进行开发,在这种情况下看起来像是Passenger。