今天我在我的 rake 脚本中看到了一件奇怪的事情。我在不同的命名空间下有两个 Rake 任务,如下所示:
path = "/home/tomcat/tomcat"
namespace :stage do
path = "/home/tomcat/stage-tomcat"
desc "Deploys a java application to stage tomcat"
task :java_deploy do
puts path # stage:java_deploy should print /home/tomcat/stage-tomcat
end
end
namespace :production do
path = "/home/tomcat/production-tomcat"
desc "Deploys a java application to production tomcat"
task :java_deploy do
puts path # production:java_deploy should print /home/tomcat/production-tomcat
end
end
Run Code Online (Sandbox Code Playgroud)
当我运行时:rake stage:java_deploy它打印
/home/tomcat/生产-tomcat
我期待/home/tomcat/stage-tomcat。path = "/home/tomcat/tomcat"如果我从 rake 文件中删除第一行,它就会按预期工作。
知道为什么是这个科拉瓦里吗?:)
提前致谢!!