con*_*nny 6 rake ruby-on-rails
以下是我的环境:
当rake尝试运行我的测试时,我开始收到此错误:
bash$ rake
Virtual timer expired
bash$ # End of output!
Run Code Online (Sandbox Code Playgroud)
并启用跟踪:
bash$ rake --trace
** Invoke default (first_time)
** Invoke test (first_time)
** Execute test
** Invoke test:units (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment
** Execute db:schema:load
Virtual timer expired
bash$
Run Code Online (Sandbox Code Playgroud)
con*_*nny 15
看起来ruby中存在问题,rev23993导致虚拟计时器在分叉时过期,从而触发mysql gem 内部的错误.
实际的解决方法似乎是将mysql gem从2.8.1降级 到2.7版:
#environment.rb
config.gem 'mysql', :version => '2.7'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1921 次 |
| 最近记录: |