在cloud66部署到digitalocean期间,尝试使用deploy钩子授予/public/uploads权限,以使carrierwave文件上传正常工作。我收到以下错误:
Error during deployment: Error during after_rails hook: Execution of sudo
/tmp/open_folder_permissions.sh returned a non-zero exit code. Output was:
/tmp/open_folder_permissions.sh:5: syntax error, unexpected tGVAR, expecting keyword_do or
'{' or '(' sudo chmod 0775 -R $RAILS_STACK_PATH/public/uploads ^ open_folder_permissions.sh
#! /usr/bin/env ruby
#load environment variables
source /var/.cloud66_env
#assign desired permissions
sudo chmod 0775 -R $RAILS_STACK_PATH/public/uploadsdeploy_hooks.yml
production:
after_rails:
- source: /.cloud66/files/open_folder_permissions.sh
destination: /tmp/open_folder_permissions.sh
target: rails
execute: true
run_on: all_servers
apply_during: all
sudo: true导致错误的原因是什么?
发布于 2013-06-09 12:25:15
您的open_folder_permissions.sh不包含有效的Ruby代码。从外观上看,它应该是一个shell脚本,而不是Ruby脚本,所以您应该将shebang行改为shell解释器,而不是Ruby解释器。
#! bin/bash是正确的解释器。
https://stackoverflow.com/questions/17002738
复制相似问题