bash"编辑gemfile"做
cwd "/home/vagrant/myapp"
code <<-EOH
echo "group :development, :test do
gem 'capybara'
gem 'rspec-rails'
gem 'selenium-webdriver'
gem 'capybara-screenshot'
gem 'launchy'
end" >>Gemfile
EOH
#####not_if do ::File.exists?('/home/vagrant/myapp/Gemfile') end#####
end
我希望它一旦添加就不再在Gemfile上添加它以避免重复... 请告诉我如何使用正确的not_if命令,谢谢!
答案 0 :(得分:1)
这个not_if { ::File.exists?('/home/vagrant/myapp/Gemfile') }
应该这样做。
这里你使用块语法do .. end在一行上,在这种情况下你必须用分号结束你的命令;
对于您的语法,它将是not_if do ::File.exists?('/home/vagrant/myapp/Gemfile'); end
如果省略分号,则解释器无法猜测您是否将end
作为参数或关键字传递。
经验法则:对一个衬垫使用花括号{}
,对多行程序块使用do .. end
。
答案 1 :(得分:0)
你的not_if需要使用grep
或awk
或ruby块来检查gemfile并查看它是否包含你想要的行。