Tag:

LoadError:无法加载此类文件 – rspec / core / rake_task

更新:这个问题仍未解决! 任何帮助表示赞赏! 05/07/2015 更新:找到了解决方法。 请看我自己的答案05/09/2015 当我耙,我得到了这个错误。 AllenLins-MacBook-Pro:geoblacklight allenlin$ rake -t Resolving dependencies… You must `gem install bundler` and `bundle install` to run rake tasks rake aborted! LoadError: cannot load such file — rspec/core/rake_task /Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `require’ /Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:689:in `raw_load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:94:in `block in load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:93:in `load_rakefile’ /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:77:in `block in run’ […]

如何声明依赖于参数化任务的Rake任务?

我见过一个例子,其中一个任务有参数和一个依赖任务,如: task :name, [:first_name, :last_name] => [:pre_name] do |t, args| args.with_defaults(:first_name => “John”, :last_name => “Dough”) puts “First name is #{args.first_name}” puts “Last name is #{args.last_name}” end 如果它是一个任务依赖项,你将如何将参数传递给name任务: task :sendLetter => :name #do something end

如何通过capistrano 3运行自定义rake任务?

哪种方式,我可以通过远程服务器上的capistrano运行rake命令。 例如,我有一些lib/task/reparse.rake和一些方法 desc “it’s take csv file, makes some changes and fill db with this info” task :example1 => :environment do require ‘csv’ rows_to_insert = [] # some actions # … end 在本地服务器上一切都很好 – 我只是运行rake reparse:example1并且它正常工作(正确填充db)。 所以问题是 – 如何在部署后在真实主机上运行此命令? 我使用rails 4.1 + capistrano 3。 来自网站的PS示例对我不起作用如何从Capistrano运行rake任务? 如果我尝试cap production rake:invoke task=reparse:land它失败了: cap aborted! Don’t know how to […]

我可以覆盖test_helper.rb中的task:environment来测试rake任务吗?

我在Rakefile中有一系列rake任务,我想测试它作为我的规范的一部分等。每个任务都以下面的forms定义: task :do_somthing => :environment do # Do something with the database here end 其中:environment任务设置ActiveRecord / DataMapper数据库连接和类。 我没有将它作为Rails的一部分使用,但我有一系列测试,我喜欢将它作为BDD的一部分运行。 这个片段说明了我是如何尝试测试rake任务的。 def setup @rake = Rake::Application.new Rake.application = @rake load File.dirname(__FILE__) + ‘/../../tasks/do_something.rake’ end should “import data” do @rake[“do_something”].invoke assert something_in_the_database end 所以我的帮助请求 – 是否有可能在我的test_helper.rb文件中覆盖:environment任务,所以我的rake测试与我的测试数据库交互,而不是生产? 我已经尝试在帮助文件中重新定义任务,但这不起作用。 对解决方案的任何帮助都会很棒,因为过去一周我一直坚持这一点。

从Rake文件中的任务调用方法

可以调用与任务相同的rake文件中的方法吗? 在下面的代码中,您可以看到我有方法调用get_search_url,它将被分配给url。 namespace :populate do desc “ETC” task :db => :environment do Report.where(link: “”).each do |word| url = get_search_url(word.name) doc = Nokogiri::HTML(open(url)) word.update_columns(link: link) end end def get_search_url(keyword) return “URL/keyword” end end

Rails资产管道和摘要值

有谁知道资产摘要值究竟是如何计算的? 如果我有两个JS文件,其中包含各种其他包含的JS脚本,那么如果没有更改内部脚本,那么每个文件是否会保持相同的摘要哈希值? 或者是每次资产:运行预编译操作时计算的新摘要值?

Rails没有找到rake-10.5.0

我正在尝试在rails 4.2中安装rake gem。 Th gem似乎安装得很好,但是Rails在尝试运行时失败,说它看不到rake-10.5.0 。 我在Rubymine开发,我得到的错误在下面,我的Gemfile也是如此。 我尝试删除其他post建议的Gemfile.lock ,但无济于事。 安慰: ~/Development/RubymineProjects/Revenant.tech  ls Gemfile Rakefile config lib test Gemfile.lock app config.ru log tmp README.rdoc bin db public vendor ~/Development/RubymineProjects/Revenant.tech  gem install rack Successfully installed rack-1.6.4 Parsing documentation for rack-1.6.4 Done installing documentation for rack after 2 seconds 1 gem installed ~/Development/RubymineProjects/Revenant.tech  bundle update […]

Rake:记录任何正在执行的任务

如何在不更改任务源的情况下为每个rake任务创建数据库日志记录? 我需要存储日期时间,任务名称和参数。 是否有某种观察者等?

停用Gem – “你已经激活了rake 0.9.3.beta.1,但我的Gemfile需要rake 0.9.2”

我正在尝试运行迁移,但我不断收到错误消息: rake aborted! Undefined method prerequisite for nil:NilClass. 似乎我以某种方式激活了一个名为rake 0.9.3.beta.1的gem – 但是我已经改变了gem bundle install并运行了bundle show rake,它显示安装了rake 0.9.2 。 我第一次使用Git所以我认为它可能与应用程序仍然使用rake的beta版本有关 – 但我已经完成了推送并且它显示了gemfile已经更新。 当我查看gem库时,我只能看到rake 0.9.2版本。 我应该在哪里看? 我也有一个Rails:Railtie弃用警告 – 但我认为这与我的迁移问题没有任何关系。 它告诉我在config / application.rb而不是Railtie中使用config.app_generators – 但我在文件中看不到。 这是Config / application.rb文件 require File.expand_path(‘../boot’, __FILE__) # Pick the frameworks you want: require “active_record/railtie” require “action_controller/railtie” require “action_mailer/railtie” require “active_resource/railtie” require “sprockets/railtie” Bundler.require […]

Ruby Rake从gem中加载任务

我一直在尝试将位于github上的gem添加到我当前的应用程序中。 gem有一个rake文件,我希望能够从我的应用程序访问。 但我不断加载错误。 load ‘tasks/deploy.rake’ gem文件看起来像那样 # -*- encoding: utf-8 -*- require ‘rake’ Gem::Specification.new do |gem| gem.authors = %w(Hello World) gem.email = %w(test@example.com) gem.description = ‘test’ gem.summary = ‘test’ gem.homepage = ‘https://github.com/..’ gem.files = FileList[ ‘lib/**/*.rb’, ‘tasks/deploy.rake’, ‘README.md’ ].to_a gem.name = ‘test’ gem.require_paths = %w(lib) gem.version = ‘0.0.1’ end 我希望能够将./tasks/deploy.rake加载到包含此gem的应用程序中,我该如何继续呢? 谢谢