我从另一个Rake任务调用了三个Rake任务。第一个Rake任务要求在执行前设置环境变量。以下工作正常,但这意味着我丢失了关键任务的所有输出:namespace:deploydotask:staging=>:environmentdo`EXAMPLE=somethingrakedb:rebuild`Rake::Task["rakeenvs:push:staging"].invokeRake::Task["rakeapp:push:staging"].invokeendend如何使用环境变量调用第一个任务并将其输出显示到终端? 最佳答案
不可能从循环内调用相同的rake任务morethanonce.但是,我希望能够调用rakefirst并循环遍历数组并在每次迭代时使用不同的参数调用second。由于invoke只在第一次执行,我尝试使用execute,但是Rake::Task#execute不使用splat(*)运算符,只接受一个参数。desc"firsttask"task:firstdoother_arg="bar"[1,2,3,4].each_with_indexdo|n,i|ifi==0Rake::Task["foo:second"].invoke(n,other_arg)else#thisdoesn'twork
是否可以从其他Ruby脚本调用在Rakefile中定义的任务-而不是在somefile.rake中定义的任务?我希望创建一个新的Rake::Application会自动从同一目录加载Rakefile,但事实并非如此。这是我到目前为止的想法:$LOAD_PATH.unshiftFile.dirname(__FILE__)require'rake'require'pp'rake=Rake::Application.newrake[:hello].invoke执行此代码会产生以下结果:/opt/ruby/1.9.2-p180/lib/ruby/1.9.1/rake.rb:1720:in`[]
我是Ruby的新手,我一直在尝试学习Rake、RSpec和Cucumber。我找到了一些可以帮助我测试Rake任务的代码,但我无法让它正常工作。有人告诉我:http://blog.codahale.com/2007/12/20/rake-vs-rspec-fight/放弃这个:defdescribe_rake_task(task_name,filename,&block)require"rake"describe"Raketask#{task_name}"doattr_reader:taskbefore(:all)do@rake=Rake::Application.newRake.ap
我还在学习Rake。Rake是否内置支持处理任务错误,如NANT的MSBuild:如果此任务失败;执行另一个任务(回滚等)例如:在MSBuild中它们有OnError元素谢谢你的帮助 最佳答案 找到答案:只使用正常的异常处理blocktask:will_fail_taskdobeginraise"something'swronghere"rescuerollback()raise"errorexecutingtask"endend 关于ruby-rake任务:errorhandling,
我不久前构建了一个gem,但没有包含任何测试(我感到羞耻)。从那以后,我一直试图通过包括minitest来解决这个问题,但是我因为以下错误而被困在门外:Don'tknowhowtobuildtask'default'这是我的Rakefilerequire'rake/testtask'Rake::TestTask.newdo|t|t.test_files=FileList['test/*_test.rb']end和test/unit_test.rb中的虚拟文件require'minitest/autorun'classTestPackage如果我更改Rakefile以包含task:def
当我rake的时候,我得到了这个错误。AllenLins-MacBook-Pro:geoblacklightallenlin$rake-tResolvingdependencies...Youmust`geminstallbundler`and`bundleinstall`torunraketasksrakeaborted!LoadError:cannotloadsuchfile--rspec/core/rake_task/Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in`require'/Users/alle
嘿,当我尝试启动Rails服务器时出现以下错误有什么想法吗?目前没有可行的解决方案...顺便说一下,我运行的是Windows8...可能根本就是问题所在:DC:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in`require':cannotloadsuchfile--1.9/bcrypt_ext(LoadError)fromC:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.
使用RubyMine3.0,我设置了一个Rake配置来运行单元测试。然后我设置了一些断点,然后运行Rake任务。没有遇到断点,测试正常执行然后退出。RubyMine调试器不能通过Rake工作吗? 最佳答案 试试这个:转到运行->编辑配置展开Rake节点并为您的rake任务添加新的rake配置(如果尚未完成)转到运行->调试...选择您配置的rake任务。 关于带Rake的RubyMine调试器?,我们在StackOverflow上找到一个类似的问题: ht
我正在为Rails编写一个自定义rake任务,该程序有一点总结了它要做什么,然后询问用户它要做什么是否正确。puts"\nIsthiswhatyouwanttohappen?[Y/N]"answer=gets.chompifanswer=="Y"#commitselseifanswer=="N"returnfalse#(Abortstheraketask)end但是,此代码会导致rake过早中止;rakeaborted!Nosuchfileordirectory-populate“populate”是rake任务的名称。我认为是什么真正导致了.gets方法中的错误。我不知道.gets方