在尝试使用capistrano进行部署时,为什么会出现Psych错误?

时间:2013-06-10 22:25:17

标签: ruby-on-rails ruby-on-rails-3 capistrano rvm-capistrano

我目前正在我的Rails 3.2.13应用程序中设置capistrano。我收到以下错误/详细信息(包括“第1行第1列不允许使用控制字符”)。我已经做了一些搜索,但没有看到任何与我有关的事情。

我正在使用rvm-capistrano和ruby 2.0.0-p195。我最近将我的应用程序所需的环境变量移动到了.bashrc。

...      
* 2013-06-10 15:18:32 executing `deploy:assets:update_asset_mtimes'
      * executing "[ -e /home/deployer/apps/super_rad_app/shared/assets/manifest* ] && cat /home/deployer/apps/super_rad_app/shared/assets/manifest* || echo"
        servers: ["107.20.249.163"]
        [107.20.249.163] executing command
        command finished in 6238ms
    *** [deploy:update_code] rolling back
      * executing "rm -rf /home/deployer/apps/super_rad_app/releases/20130610221258; true"
        servers: ["107.20.249.163"]
        [107.20.249.163] executing command
     ** [out :: 107.20.249.163] Using /home/deployer/.rvm/gems/ruby-2.0.0-p195
        command finished in 6623ms
    /home/nate/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): control characters are not allowed at line 1 column 1 (Psych::SyntaxError)
        from /home/nate/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/psych.rb:205:in `parse_stream'
        from /home/nate/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/psych.rb:153:in `parse'
        from /home/nate/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/psych.rb:129:in `load'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/recipes/deploy/assets.rb:26:in `parse_manifest'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/recipes/deploy/assets.rb:93:in `block (3 levels) in load'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:138:in `instance_eval'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:138:in `invoke_task_directly'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly_with_callbacks'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:101:in `find_and_execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/callback.rb:38:in `call'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:141:in `block in trigger'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:141:in `each'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:141:in `trigger'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:23:in `invoke_task_directly_with_callbacks'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:101:in `find_and_execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/callback.rb:38:in `call'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:141:in `block in trigger'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:141:in `each'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:141:in `trigger'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:27:in `invoke_task_directly_with_callbacks'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:110:in `block in define_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/recipes/deploy.rb:234:in `block (3 levels) in load'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:56:in `transaction'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/recipes/deploy.rb:233:in `block (2 levels) in load'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:138:in `instance_eval'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:138:in `invoke_task_directly'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly_with_callbacks'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:191:in `method_missing'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/namespaces.rb:110:in `block in define_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/recipes/deploy.rb:201:in `block (2 levels) in load'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:138:in `instance_eval'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:138:in `invoke_task_directly'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/callbacks.rb:25:in `invoke_task_directly_with_callbacks'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:89:in `execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/configuration/execution.rb:101:in `find_and_execute_task'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/cli/execute.rb:46:in `block in execute_requested_actions'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/cli/execute.rb:45:in `each'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/cli/execute.rb:45:in `execute_requested_actions'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/cli/help.rb:19:in `execute_requested_actions_with_help'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/cli/execute.rb:34:in `execute!'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/lib/capistrano/cli/execute.rb:14:in `execute'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/gems/capistrano-2.15.4/bin/cap:4:in `<top (required)>'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/bin/cap:23:in `load'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/bin/cap:23:in `<main>'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval'
        from /home/nate/.rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `<main>'

2 个答案:

答案 0 :(得分:6)

我也有这个问题,但原因不同。我们使用的是rvm-capistrano,我们的项目有一个.rvmrc文件。 deploy:assets:update_asset_mtimes Capistrano任务在服务器上运行shell命令以捕获资产清单的内容。部署中存在.rvmrc文件生成了“你正在使用'.rvmrc',它需要信任......”来自RVM的警告,它无意中成为了shell命令输出的一部分。我只是在使用puts语句在我的本地capistrano gem中检测assets.rb配方后才看到这个。

我通过在服务器上运行“rvm rvmrc warning ignore all.rvmrcs”修复了我的问题,然后再次部署。

另一个选择是从.rvmrc和整个信任的东西切换到使用.ruby-version方法。有关详细信息,请参阅Use rvmrc or ruby-version file to set a project gemset with RVM?

答案 1 :(得分:2)

这来自您.bashrc中可能存在的问题。 请查看此问题以获取更多详细信息:psych.rb error when deploying with Capistrano 'mapping not allowed in this context'