-
Notifications
You must be signed in to change notification settings - Fork 129
Troubleshooting
ワークショップ中に起こったトラブルとその解決方法
- 環境:Mac
OS再起動してインストーラを再実行するとインストールできる。
なんらかの理由でRailsInstallerでインストールができなかった場合は、brew+rbenv でインストールする手順がお勧めです。
http://railsgirls.jp/install の「ステップ 3-B」に手順が載っています。
- 環境:Windows, Ubuntu
scaffold 実行して migration して rails s してブラウザでアクセスすると ExecJS::RuntimeError が発生することがある。(この問題があるので、環境構築後の動作確認はscaffoldしてアクセスするところまでやった方が堅い。)
Windows8で発生した。Node.jsを入れてWindowsを再起動したら出なくなる。(Windowsでユーザー名に日本語が使われている場合も発生することがある。後述。)Ubuntuでも発生することがある。
スクリーンショット:http://www.flickr.com/photos/igaiga/8441060182/in/photostream
もうすこし詳細メモ:http://igarashikuniaki.net/diary/20130203.html
Ruby on Rails 3.1以降、Ruby on Railsを実行するためにはサーバ側にJavaScriptを処理する「JavaScript Runtime」と呼ばれるものが必要となりました。
このJavaScript Runtimeには色々なものがあります。代表的なものとして、
- therubyracer(Ruby Gem、https://github.com/cowboyd/therubyracer)
- therubyrhino(Ruby Gem、https://github.com/cowboyd/therubyrhino)
- Node.js(C++で書かれたライブラリ、https://nodejs.org)
- Apple JavaScriptCore(MacOSXに標準で入っているJavaScript Runtime)
があり、これらのうち、いずれかをインストールする必要があります。このうち、お勧めなのはNode.jsをインストールすることです。therubyracerなどRuby Gemをインストールするという手もありますが、OSライブラリが別途必要でGemのインストールにかなりハマります。このため、インストールが容易なNode.jsのインストールをおすすめしています。
以下、代表的なOSの例です。
- Windowsの場合
Node.jsをインストールしてください。Node.jsのサイトに行ってインストーラーのダウンロードと実行をすればOKです。
- Windowsの場合について補記
Windowsの場合、標準でインストールされているWindows Scripting HostがJavaScript Runtimeとして動くはずなんですが、動いてくれないという原因がわかっていません。
- Macの場合
何もしなくてOKです。Apple JavaScriptCoreが使われます。
- CentOS/redHat Enterprise Linux/Fedoraの場合
Node.jsをインストールしてください。EPELリポジトリを追加後、rootユーザで「yum install nodejs」を実行すればOKです。
- Ubuntuの場合
Node.jsをインストールしてください。「sudo apt-get install nodejs」とすればインストールできます。
- 環境:Windows
その場合、Ctrl+Pauseで止められることもある。しかし、最近のPCにはPauseキーがないものもある。その場合はshellを閉じるしかないと思う。
- 環境:Windows
コマンドプロンプトの設定をいじれば直るかもだが、UTF-8にするのが難しい。コード側を "XXX".encode("CP932") で対応することもできるが、変換に失敗する場合の例外処理を考慮する必要がある。(全ての環境で発生するわけではない模様)
- 環境:Windows
現象としては上述のExecJS::RuntimeErrorなどが出る。パス名にマルチバイト文字が入るのが原因で、おそらくこの状態で動作させることはできないと思われる。新しいユーザーを作成するか、VMでLinuxを使うなどを検討するのが良さそう。
- 環境:Windows
インストールページにインライン入力パッチに関する記述があるのでその対応を行う。
- 環境:Mac
(表示上は正しく入力できているように見える。)
ことえりをOFFにしてコピペする?
JISキーボードの場合は次で解決するかもです。
「ことえり」で「英字」モード(右上に黒地白抜き文字でAと出ている状態)で、右上の黒地白抜き文字のAをクリックすると「環境設定」がでますので、それをクリック。 その中にある、「入力文字」タブの「JISキーボードの¥キーで入力する文字」を「¥(円記号)」から「\(バックスラッシュ)」に変更してください。
なお、上記の設定をしなくても、optionを押しながら、¥キーを押してもバックスラッシュは入力できます。