railsgirls-jp/coach.info

Windows のアカウント名に全角文字を含む場合に Heroku コマンドが失敗した

Opened this issue · 6 comments

バージョン

  • OS:Windows8
  • Ruby:2.1.5
  • Rails:4.2.2

背景

heroku コマンドを実行した時にエラーが発生しました。

Windows にログインする時のアカウント名に全角文字が含まれていると発生するようでした。
(Rails Girls Osaka #2 では、アカウント名に全角文字を使っている方が多かったです。)

Windows アカウントの作成からインストール作業をやり直す必要があったので、インストールデーではインストール作業が完了できない方も出てしまいました。

解決方法など

参加者に全角文字を含まない名前で Windows のログインアカウントを作成していただきました。

sho-h commented

最近レポートが挙がってる問題と同じですかね?これであればコードを追いかけてみると環境変数によって分岐してる部分のようです。masterなのでリンク先はその内違うものを指すかもしれません。

なので、松江チームの素振りでは以下のようにして一時的に消したら動作しそうな雰囲気でした。(設定で消すと問題がありそうですがこれだとcmdを起動し直すと元通り)

> set LOCALAPPDATA=

副作用として一時データが C:<ユーザ名>.herokuにできてしまうようです。松江(2nd)では開催までに直ると期待しつつ、ユーザを作るのは最近だと紐付くアカウントがあったりでしんどい印象があるので直らなければこれで回避しようかと思います。

情報ありがとうございます!

全角文字が入っていると windows-1252 にエンコードしているところで例外が発生してしまう、、ということなんですね。

ユーザを作るのは最近だと紐付くアカウントがあったりでしんどい印象があるので

おっしゃる通りで、アカウントの作り直しのためのメールアドレスが必要だったりバタバタした結果、インストールデーにインストールを完了できない方を出してしまいました。

一時的に LOCALAPPDATA を消す方法で回避できるなら、その方が良いと思います!(修正されることを期待しつつ)

sho-h commented

@suzuki-kei 確認ありがとうございます!うーん、やっぱりアカウント作り直しは大変そうですねぇ。この点も情報ありがたいです。

sho-h commented

当時と現時点の該当部分を比較してみたのですが、日本語ユーザ名でも動作するのではないかと期待しています。最近Windowsで且つ日本語ユーザ名でherokuにアップロードしたといった経験をお持ちの方いらっしゃいませんか?

RailsGirls高崎でこの問題踏みました。まだ起こりそう。

  • 環境:日本語ユーザー名のWin10
  • heroku login まで成功する
    • 結果、%HOME% に認証情報の.netrcが作成される(ここまで正常)
  • git push heroku masterをするとemail/passが要求され、入力しても認証を通してくれない
    • .netrcを読みにいってくれていない模様
    • %HOME%, %USERPROFILE% 環境変数をwinのコントロールパネルから別のパスに変更して再起動したが、ターミナル上で %HOME% などを表示させると変更されていない(ここがよく分からない)
    • 試しに _netrc にリネームも試したがダメだった
  • 参考: https://stackoverflow.com/questions/27810419/git-push-heroku-master-is-still-asking-for-authentication

最終的には、日本語含まないユーザーを作成してもらって対応しました。

一方で前回の東京開催で、いわおさんがチャチャッと対応していた気がするので直し方がなにかあるのかもしれない。