Rails+Rubymine+Bootstrap+SlimをWindows環境で開発するためにしたこと。
今回は環境構築
twitter-bootstrap-railsはLESSを使用するため、therubyracerが必須となります。
Railsの場合は、Bundleを使ってのGemのインストールすることが基本なので、
ローカルファイルを適用した利用方法についてまとめてみた。
1.V8.dllのインストール
下記のサイトより「V8.dll」をダウンロードします。ダウンロードしたファイルは、
Pathが通っているフォルダにコピーします。
(自分は参考にしたサイトより、C:\Windowsにコピー)
V8.dll
2.therubyracer-0.11.0beta1-x86-mingw32.gemをローカルに展開
下記サイトよりWindows版therubyracerをダウンロードしますします。
therubyracer-0.11.0beta1-x86-mingw32.gem
ダウンロード後、以下のコマンドを実行して解凍します。
gem unpack therubyracer-0.11.0beta1-x86-mingw32.gem
できたフォルダ「therubyracer-0.11.0beta1-x86-mingw32」を
Railsのプロジェクトフォルダの一つ上の階層に配置します。
3.Gemfileの設定
Railsプロジェクトの作成をして、Gemfileの設定について、以下のとおりにします。
source 'https://rubygems.org'
gem 'rails', '> 3.2.1'
gem 'sqlite3-ruby', '> 1.2.0', :require => 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem "slim"
gem "slim-rails"
# OSのプラットホームを判定してtherubyracerのインストールを実施するようにします
if RUBY_PLATFORM =~ /mingw/
# pathでの設定はGemfileを基準とした相対パスでないと
# うまくいきませんでしたので、以下のようになります
gem 'therubyracer', :path => '../therubyracer-0.11.0beta1-x86-mingw32'
else
gem 'libv8'
gem 'therubyracer'
end
gem 'less'
gem 'less-rails'
gem 'twitter-bootstrap-rails'
BundleでGemをインストールします
bundle install --path vendor/bundle
これでインストールが実行されます。
インストール時にGitのエラーが発生しますが、原因を調べていません。
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
これで、Bootstrapが利用可能になりますので、RailsコマンドでBootstrapをassetsにセットしてください。
$ rails g bootstrap:install
insert app/assets/javascripts/application.js
create app/assets/javascripts/bootstrap.js.coffee
create app/assets/stylesheets/bootstrap_and_overrides.css.less
gsub app/assets/stylesheets/application.css
gsub app/assets/stylesheets/application.css
既存のレイアウトをslimにします。
$ rails g bootstrap:layout application fluid
create app/views/layouts/application.html.slim
最後に「bootstrap_and_overrides.css.less」以下の項目を追加します。
(これを追加しないと、bundle exec rake assets:precompileでエラー発生)
@fontAwesomeEotPath_iefix: asset-path("fontawesome-webfont.eot#iefix");