2016-05-23 4 views
0

В моем развертывании/development.rb, у меня есть следующие строки: -Что означает эта ошибка capistrano при выполнении выборки AWS-файлов с помощью задач cap?

set :env_path, 's3api get-object --bucket <bucket_name> --key <file_name> <file_name>' 

В моем файле колпака я следующие задачи: определенный

task :download_configs do 
      on roles(:all) do 
        within release_path do 
          execute :aws, "#{fetch(:env_path)}" 
        end 
      end 
      # on roles(:db) do 
      #  within release_path do 
      #    execute :aws, "#{fetch(:env_path)}" 
      #  end 
      # end 
end 

Но крышка Deploy, я видя следующие ошибки: -

cap aborted! 
SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: aws exit status: 1 
aws stdout: Traceback (most recent call last): 
    File "/usr/bin/aws", line 15, in <module> 
    import awscli.clidriver 
    File "/usr/share/awscli/awscli/clidriver.py", line 30, in <module> 
    from awscli.help import ProviderHelpCommand 
    File "/usr/share/awscli/awscli/help.py", line 20, in <module> 
    from docutils.core import publish_string 
    File "/usr/lib/python3/dist-packages/docutils/core.py", line 20, in <module> 
    from docutils import frontend, io, utils, readers, writers 
    File "/usr/lib/python3/dist-packages/docutils/frontend.py", line 41, in <module> 
    import docutils.utils 
    File "/usr/lib/python3/dist-packages/docutils/utils/__init__.py", line 20, in <module> 
    import docutils.io 
    File "/usr/lib/python3/dist-packages/docutils/io.py", line 18, in <module> 
    from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput 
    File "/usr/lib/python3/dist-packages/docutils/utils/error_reporting.py", line 47, in <module> 
    locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1] 
    File "/usr/lib/python3.4/locale.py", line 556, in getdefaultlocale 
    return _parse_localename(localename) 
    File "/usr/lib/python3.4/locale.py", line 484, in _parse_localename 
    raise ValueError('unknown locale: %s' % localename) 
ValueError: unknown locale: UTF-8 
aws stderr: Nothing written 

SSHKit::Command::Failed: aws exit status: 1 
aws stdout: Traceback (most recent call last): 
    File "/usr/bin/aws", line 15, in <module> 
    import awscli.clidriver 
    File "/usr/share/awscli/awscli/clidriver.py", line 30, in <module> 
    from awscli.help import ProviderHelpCommand 
    File "/usr/share/awscli/awscli/help.py", line 20, in <module> 
    from docutils.core import publish_string 
    File "/usr/lib/python3/dist-packages/docutils/core.py", line 20, in <module> 
    from docutils import frontend, io, utils, readers, writers 
    File "/usr/lib/python3/dist-packages/docutils/frontend.py", line 41, in <module> 
    import docutils.utils 
    File "/usr/lib/python3/dist-packages/docutils/utils/__init__.py", line 20, in <module> 
    import docutils.io 
    File "/usr/lib/python3/dist-packages/docutils/io.py", line 18, in <module> 
    from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput 
    File "/usr/lib/python3/dist-packages/docutils/utils/error_reporting.py", line 47, in <module> 
    locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1] 
    File "/usr/lib/python3.4/locale.py", line 556, in getdefaultlocale 
    return _parse_localename(localename) 
    File "/usr/lib/python3.4/locale.py", line 484, in _parse_localename 
    raise ValueError('unknown locale: %s' % localename) 
ValueError: unknown locale: UTF-8 
aws stderr: Nothing written 

Пожалуйста, помогите мне определить, что здесь не так!

ответ

0

Выстрел в темноте (я не Python Dev), но вы могли бы добавить следующее deploy.rb:

set :default_env, { 
    'LANG' => 'en_US.UTF-8' 
} 

производный главным образом от https://github.com/matplotlib/matplotlib/issues/5420#issuecomment-154454607

Я хотел бы проверить, чтобы убедиться, вы можете запустить команду вручную на сервере. Если вы не можете, тогда выясните, как без Капистрано. Если вы можете, возможно, посмотрите, есть ли какая-то конфигурация в .bashrc или .bash_profile, которые могут быть добавлены в конфигурацию Capistrano.