首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署挂钩语法错误

部署挂钩语法错误
EN

Stack Overflow用户
提问于 2013-06-09 02:49:34
回答 1查看 197关注 0票数 1

在cloud66部署到digitalocean期间,尝试使用deploy钩子授予/public/uploads权限,以使carrierwave文件上传正常工作。我收到以下错误:

代码语言:javascript
复制
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

代码语言:javascript
复制
#! /usr/bin/env ruby
#load environment variables
source /var/.cloud66_env
#assign desired permissions
sudo chmod 0775 -R $RAILS_STACK_PATH/public/uploads

deploy_hooks.yml

代码语言:javascript
复制
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

导致错误的原因是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-09 12:25:15

您的open_folder_permissions.sh不包含有效的Ruby代码。从外观上看,它应该是一个shell脚本,而不是Ruby脚本,所以您应该将shebang行改为shell解释器,而不是Ruby解释器。

#! bin/bash是正确的解释器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17002738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档