山pの楽しいお勉強生活

勉強の成果を垂れ流していきます

WindowsでRuby on Railsの環境を作る。

インストール

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
choco install ruby
  • Ruby Development Kit
choco install ruby.devkit
gem install rails --no-ri --no-rdoc
  • 確認
C:\>rails --version
DL is deprecated, please use Fiddle
Rails 4.1.7

警告の内容

  • DL is deprecated, please use Fiddle って何?
  • Rubyのインストール時に表示されたエラーメッセージ「DL is deprecated, please use Fiddle」について

    DL は .dllや.soなどのダイナミックリンクライブラリーを使うためのライブラリーです。これは Ruby の 2.0 から deprecated(非推奨) になりました。 そのため、「DL ではなく、同じ目的のライブラリーである Fiddle の方を使ってください」というメッセージがでています。

    これを消すためには、実行されたスクリプト中に DL を使っているところがあるはずなので、 そこを Fiddle に書き直す必要があります。 ただ、2.0 でも DL は一応残してあるので、これはエラーというよりもワーニングで、そのままでも使えないことはないと思います。

アプリケーション作成

  • 適当なディレクトリを作成し、そこに移動。
mkdir c:\work\20141109\rails
cd c:\work\20141109\rails
  • アプリケーション作成
rails new myapp --skip-bundle
  • Gemfileを修正
    • このバージョン(4.1.7)では64bitの場合、Gemfileを一部修正する必要があるらしい。↑でbundleをskipしたのはこれのせい。
    • 作成されたアプリケーション内に「Gemfile」があるので、この最後の行を以下のように修正。
gem 'tzinfo-data', platforms: [:mingw, :mswin]
↓
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
  • 依存gemのインストール。
cd myapp
bundle install
  • 起動
rails server
  • 起動時にNo source of timezone data could be found.と出た場合には↑の通りにGemfileを修正して以下のコマンドで依存gemをアップデート。
bundle update

f:id:yamap_55:20141109225220j:plain

参考URL