我在Rails 3.2和Spree 1.1上。运行初始rake test_app --trace
时,我得到:
** Invoke test_app (first_time)
** Execute test_app
** Invoke common:test_app (first_time)
** Execute common:test_app
Generating dummy Rails application...
Setting up dummy database...
The system cannot find the path specified.
我正在rake test_app
开始spree\core
。据spree\core\lib\generators\spree\dummy\templates\rails\database.yml
我所知,Spree正在寻找db\spree_test.sqlite3
。我尝试手动创建此数据库,但没有运气。
此外,我在Windows 7上,如果它有用,因为它可能是某种环境设置。
答案 0 :(得分:3)
这似乎是Spree生成器中的一个小错误:
puts "Setting up dummy database..."
cmd = "bundle exec rake db:drop db:create db:migrate db:test:prepare"
if RUBY_PLATFORM =~ /mswin/ #windows
cmd += " >nul"
else
cmd += " >/dev/null"
end
system(cmd)
在我的情况下,RUBY_PLATFORM是" i386-mingw32"然后阻止添加" >的/ dev / null的"这是Linux的有效消音器,但在Windows中给出了错误。
如此简单的修复可能是:
if RUBY_PLATFORM =~ /mswin|mingw/
正如我在帖子here,here和here中看到的,没有可靠的方法来确定正在运行的操作系统,但是有一些启发式代码。
代码取自spree \ core \ lib \ spree \ testing_support \ common_rake.rb
否则你可以运行:
bundle exec rake db:drop db:create db:migrate db:test:prepare