環境は,
Ruby 2.4 をインストール
まず,RubyInstaller で Ruby 2.4.1 をインストール.
といっても,以前に
Ruby 2.4.0-8
をインストールしていたので,それを最新版にする.
アンインストールは必要なくて,Ruby 2.4.1-2 (x64) のインストーラを実行すると,上書きインストールされた.
MSYS2 は別途インストールしてあるので,最後のチェックは外す. なお,MSYS2の再設定は必要なかった.
また,インストールしてあった gem もそのままだった.
>ridk version --- ruby: path: C:/Ruby/Ruby24-x64 version: 2.4.1 platform: x64-mingw32 ruby_installer: package_version: 2.4.1-2 git_commit: a2667ee msys2: path: c:\msys64 title: MSYS2 64bit version: '20161025' cc: x86_64-w64-mingw32-gcc (Rev2, Built by MSYS2 project) 6.3.0 sh: GNU bash, version 4.3.46(2)-release (x86_64-pc-msys)
Rails をインストール
Bundler を使う
Gemfile
# frozen_string_literal: true source "https://rubygems.org" gem "rails"
インストール
>bundle install --path vendor/bundle ... >bundle exec rails -v Rails 5.1.2
インストール後の確認
無事にエラーもなくインストールされたので,以下の記事を参考にインストール後の確認する.
RubyInstaller2でWindows環境にRuby 2.4 + Rails 5.0.2をインストールする
rails new
すると,bundle install
が実行されてシステム全体の方にインストールされてしまうので,ここ を参考にして,
> mkdir rails-sandbox > copy Gemfile rails-sandbox > cd rails-sandbox > bundle install --path vendor/bundle > bundle exec rails new . > bundle exec rails s
http://localhost:3000
にアクセスして確認
scaffold画面の作成
>bundle exec rails g scaffold Blog title content:text >bundle exec rails db:migrate >bundle exec rails s
http://localhost:3000/blogs
にアクセスして確認すると,
ActionView::Template::Error (TypeError: オブジェクトでサポートされていないプロパティまたは メソッドです。): 4: <title>RailsSandbox</title> 5: <%= csrf_meta_tags %> 6: 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' : 'reload' %> 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 9: </head> 10:
というエラーが出たが,これはNode.js がインストールされてないかららしいので,インストール.
>node -v v6.11.1 >npm -v 3.10.10
インストールしたら,コマンドプロンプトを再度起動し,
>bundle exec rails s
http://localhost:3000/blogs
にアクセスして確認
その他
irb
日本語の入力は普通にできた
rails console
以下のエラーで起動しなかったが,
C:/Ruby/Ruby24-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in `delete': invalid byte sequence in UTF-8 (ArgumentError)
~/.irbrc
に元からあった
require 'irb/ext/save-history' require 'irb/completion' IRB.conf[:SAVE_HISTORY] = 200
をコメントアウトすると起動した.
Issue に挙がっているからそのうちなおるかもしれない(Pull request もある)
Invalid byte sequence in UTF-8 when running console
日本語の入力に関しては,
IRB.conf[:USE_READLINE] = false
を .irbrc
に書いても書かなくても,
irb(main):001:0> puts "あ" あ => nil irb(main):002:0> s = "あ" => "\x{82A0}"
という結果だった