我想我疯了。有人可以帮忙吗?
我有文件夹c:\ project \ bin 我运行以下命令来执行我的rake脚本
cd C:\project
rake
在我的rake脚本中,我有:
require 'rake/clean'
CLOBBER.include('bin')
task :default => [:compile]
task :compile do
# do nothing
end
它不会删除“bin”文件夹,也不会删除“bin”文件夹的内容。我在Windows(1.86左右)中运行Ruby并使用gem install rake安装rake。
我错过了什么。我试过 - 追踪等......但没有得到反馈。
答案 0 :(得分:4)
TL; DR:$ rake clobber
正如上面的答案所说的那样,它们并非被暗示引用。以下是您要求的示例。
~/deleteme$ cd project
total 8
-rw-r--r--@ 1 josh staff 110 Jun 27 06:04 Rakefile
~/deleteme/project$ cat Rakefile
require 'rake/clean'
CLOBBER.include('bin')
task :default => ["compile"]
task :compile do
mkdir 'bin'
end
~/deleteme/project$ rake
(in /Users/josh/deleteme/project)
mkdir bin
~/deleteme/project$ ls -l
total 8
-rw-r--r--@ 1 josh staff 110 Jun 27 06:04 Rakefile
drwxr-xr-x 2 josh staff 68 Jun 27 06:05 bin
~/deleteme/project$ rake -T
(in /Users/josh/deleteme/project)
rake clean # Remove any temporary products.
rake clobber # Remove any generated file.
~/deleteme/project$ rake clobber
(in /Users/josh/deleteme/project)
rm -r bin
~/deleteme/project$ ls -l
total 8
-rw-r--r--@ 1 josh staff 110 Jun 27 06:04 Rakefile
答案 1 :(得分:2)
CLEAN和CLOBBER不是隐式任务 - 您必须声明依赖或调用它们
答案 2 :(得分:0)
要获得更简单的方法,请尝试
task :default => [:compile, :clobber]
而不是
task :default => ["compile"]
然后在命令行中运行
rake
请记住,在Ruby中,最好使用符号而不是字符串文字