Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么可以';帕德里诺找到我的耙子任务了吗?_Ruby_Rake_Bundler_Gemfile_Padrino - Fatal编程技术网

Ruby 为什么可以';帕德里诺找到我的耙子任务了吗?

Ruby 为什么可以';帕德里诺找到我的耙子任务了吗?,ruby,rake,bundler,gemfile,padrino,Ruby,Rake,Bundler,Gemfile,Padrino,我刚刚将Padrino从版本0.10.5升级到了版本0.12.1,现在我的Rake任务都不工作了 我刚刚添加了一个简单的例子: # PROJECT_ROOT/lib/tasks/example_task.rake task :example_task do puts "Is this working?" end 运行rake示例\u任务给出: rake aborted! Don't know how to build task 'example_task' => Executing

我刚刚将Padrino从版本0.10.5升级到了版本0.12.1,现在我的Rake任务都不工作了

我刚刚添加了一个简单的例子:

# PROJECT_ROOT/lib/tasks/example_task.rake
task :example_task do
  puts "Is this working?"
end
运行
rake示例\u任务
给出:

rake aborted!
Don't know how to build task 'example_task'
=> Executing Rake example_task ...
/Users/george/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/rake/task_manager.rb:49:in `[]': Don't know how to build task 'example_task' (RuntimeError)
运行
padrino-rake示例任务
给出:

rake aborted!
Don't know how to build task 'example_task'
=> Executing Rake example_task ...
/Users/george/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/rake/task_manager.rb:49:in `[]': Don't know how to build task 'example_task' (RuntimeError)
Padrino说Padrino应该自动检测
lib/tasks
中的任何
*.rake
文件,这些文件在我升级Padrino之前就已经工作了。有什么问题吗

我的档案:

source 'https://rubygems.org'

ruby '2.1.0'

gem 'rake'
gem 'unicorn'
gem 'rack_hoptoad', require: 'rack/hoptoad'

gem 'haml'
gem 'bson_ext'
gem 'mongo'
gem 'mongoid', '~> 3.1.6'
gem 'httparty'

group :development, :test do
  gem 'debugger'
  gem 'fabrication', '~> 1.3.1'
  gem 'zippy'
  gem 'rubyzip', '~> 0.9.9'
end

group :test do
  gem 'mocha', '~> 0.10.4'
  gem 'rspec', '~> 2.8.0'
  gem 'capybara', '~> 1.1.2'
  gem 'launchy'
  gem 'cucumber', '~> 1.1.8'
end

gem 'tilt', '~> 1.4.1'
gem 'padrino', '~> 0.12.1'
gem 'padrino-cookies', '~> 0.1.2'
根据
bundle show rake
,我使用的是rake版本10.3.1


我做错了什么?

嗯,那是在浪费赏金

我在那里找到了答案。我需要对
config/boot.rb
的顶部进行以下更改。。。(这是取自
git diff
的输出,因此请注意,以
-
开头的行已被删除,而以
+
开头的行已被添加。)

并将这些行添加到我的
Rakefile

+require 'bundler/setup'
+require 'padrino-core/cli/rake'
+
+PadrinoTasks.use(:database)
+PadrinoTasks.use(:mongoid)
+PadrinoTasks.init

现在我的rake任务正常工作。耶

使用此模式,它将与新版本的Padrino一起工作,而无需任何核心更改:

# ./lib/tasks/seed_fonts.rake
namespace :fonts do

  desc "Seen the fonts into database table db.fonts"
  task :seed_fonts => :environment do

      # Do your thing ...

  end

end

rake-T
padrino-rake-T
的输出是什么?(对于未来的谷歌用户来说值得注意的是…你显然不想添加行
PadrinoTasks。使用(:mongoid)
如果你的数据库没有使用mongoid!)从padrino 0.14开始,我添加基于gem的任务的一种方法是在Rakefile中加载gem,示例:需要“padrino/链轮”