我想我疯了。有人可以帮忙吗?

我有文件夹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 <!>”;文件夹和<!> quot; bin <!>的内容;夹。我在Windows(1.86左右)中运行Ruby并使用gem install rake安装rake。

我错过了什么。我试过 - 追踪等......但没有得到反馈。

有帮助吗?

解决方案

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

其他提示

CLEAN和CLOBBER不是隐式任务 - 您必须声明依赖或调用它们

要获得更简单的方法,请尝试

task :default => [:compile, :clobber]

而不是

task :default => ["compile"]

然后在命令行中运行

rake

请记住,在Ruby中,最好使用符号而不是字符串文字

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top