我会先说我知道一点 Ruby 但不是很好,所以这很可能是一个常见的 Ruby 错误(但我似乎找不到答案!)
我有这个厨师食谱(使用 Vagrant 运行):
package "php5-fpm" do
action :install
end
template "/etc/php5-fpm/pool.d/site" do
source "php-fpm.erb"
owner "root"
group "root"
mode 0644
action :create
only_if "dpkg --get-selections | grep php5-fpm"
end
service "php5-fpm" do
action :restart
end
这失败并显示以下消息:
================================================================================
Recipe Compile Error in /tmp/.../cookbooks/site/recipes/php-fpm.rb
================================================================================
SyntaxError
-----------
compile error
/tmp/.../cookbooks/site/recipes/php-fpm.rb:1: syntax error, unexpected
tIDENTIFIER, expecting $end
template "/etc/php5-fpm/pool.d/site" d...
^
Cookbook Trace:
---------------
/tmp/.../cookbooks/dosos/recipes/php-fpm.rb:1:in `from_file'
Relevant File Content:
----------------------
/tmp/.../cookbooks/dosos/recipes/php-fpm.rb:
end 2: :restart" do-selections | grep php5-fpm"
这对我来说没有多大意义,因为“相关文件内容”似乎是从文件的不同部分中删除的。
Ruby 是否有一些关于在字符串中添加斜杠的内容(如果是这样,为什么前面 3 个斜杠不会出错,除非它从右到左运行?)