3

Cygwin で dotCloud CLI を使用するための通常の手順に従いましたdotcloud pushが、すべての場合で失敗します: --rsync, --hg, and --git.

私はWindows 8とCygwinを使用しています。

どうすればうまくプッシュできますか?

出力例:

me@host /cygdrive/d/project 
$ dotcloud push --rsync 
==> Pushing code with rsync from "./" to application myapp 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [sender=3.0.9]

me@host /cygdrive/d/project 
$ dotcloud push --git 
Permission denied (publickey,password).r from "./" to application myapp 
fatal: The remote end hung up unexpectedly

me@host /cygdrive/d/project 
$ dotcloud push --hg 
==> Pushing code with mercurial from "./" to application myapp 
abort: no suitable response from remote hg! 
Error: Mercurial returned a fatal error
4

1 に答える 1

4

Cygwin のグループ権限でバグが発生している可能性があります。Vineet Gupta が彼のブログで回避策を提供しています。この問題は、キーの周りで期待される非常に厳密なアクセス許可に起因sshします。解決策は、ssh キーのアクセス許可を適切に設定することです (rw所有者のみが 600 に設定します)。Cygwin では、グループを手動で追加する必要があるようです。

アクセス許可の設定など、dotCloud CLI をインストールする手順を更新すると、次のようになります。

  1. Cygwin セットアップを開始します。
  2. パッケージ選択ダイアログが表示されるまで、デフォルトの選択肢を選択します。
  3. 次のパッケージを有効にします。

    • ネット/openssh
    • ネット/rsync
    • 開発/git
    • 開発/マーキュリアル
    • python/python (少なくとも 2.6 であることを確認してください!)
    • ウェブ/wget
  4. インストール後、デスクトップに Cygwin アイコンが表示されます。開始します。コマンドライン シェルが表示されます。

  5. ダウンロードeasy_install

    wget http://peak.telecommunity.com/dist/ez_setup.py
    
  6. インストールeasy_install

    python ez_setup.py
    
  7. あなたは今持っていeasy_installます; それを使ってインストールしましょうpip

    easy_install pip
    
  8. 今すぐインストールdotcloud(CLI)

    pip install dotcloud
    
  9. 資格情報を使用して CLI をセットアップします。これにより、ssh キーもダウンロードされます。

    dotcloud setup
    
  10. 新しいステップdotCloud キーのアクセス許可を更新します。

    chgrp Users ~/.dotcloud_cli/dotcloud.key
    chmod 600 ~/.dotcloud_cli/dotcloud.key
    

複数の dotCloud アカウントdotcloud pushがある 場合は、各アカウントに独自のキーがあるため、各アカウントに対してこのプロセスを繰り返す必要があります。また、これらのパーミッションを手動で設定する必要はありませんが、Cygwin ではグループの所有権が間違ったデフォルトになっていることがあるようです。Linux と OSX ではこの問題は発生しないようですが、すべての OS でパーミッションが 600 である必要があるため、確認する価値があります。

于 2013-06-06T18:08:34.530 に答える