【发布时间】:2014-05-20 22:03:26
【问题描述】:
为了安全和移动性,我将我的 dotfiles 放在 git 存储库中。我写了一个简单的 Rake 任务来用存储库中的点文件覆盖我的用户目录中的点文件,如果它是新的。这是一个简单的file 任务。例如,这里有一个文件任务全部拼写出来,所以我们不知道发生了什么愚蠢的事情......
file File.expand_path("~/.bashrc") => ".bashrc" do |task|
system "cp #{task.source} #{task.name}"
end
但是,当我让 Rake 检查任务依赖项时,我丢失了驱动器号!
$ rake -P
rake /Users/anthony/.bashrc
lib/.bashrc
如果我设置一个“默认”任务,它使用与依赖项相同的路径而不是名称,我会得到驱动器号。
task :default => [File.expand_path("~/.bashrc")]
$ rake -P
rake default
C:/Users/anthony/.bashrc
我在 Windows 7 Pro x64 上使用 Ruby 1.9.3p484 (2013-11-22) [i386-mingw32] 在 32 位 shell 中。
【问题讨论】: