Sass環境を整えるためにrbenv+ruby-build+bundlerしたメモ
LessよりSassの方がいい?
よくわかんないけど、Sassだとインデントで記述できてたのしそう!ってことで調べた。
Sass(Scss)ってこんな感じです
Sass - チュートリアル
最近はrvm+gemsetよりrbenv+ruby-build+bundlerが旬らしい
てっきりrvmだと思ってた。「rvmはオワコンや……」って誰かが言ってた気がしたけど普段Virtualenvの中で暮らしているのであんまりよく知らなかった。
以下、ほとんどこの記事と同じです
rbenvでrailsの動作環境を構築 - 吾輩のメモである
rbenvでrubyのバージョン管理をする環境をつくる
公式のgithubはこれです
sstephenson/rbenv · GitHub
git clone git://github.com/sstephenson/rbenv.git .rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc
そのまんまです。githubからcloneしてpathをとおしてあげてなんか初期化のおまじないをする感じですね
ruby-buildで .rbenv 上の環境に構築するようにする
git clone git://github.com/sstephenson/ruby-build.git cd ruby-build sudo ./install.sh
これで /usr/local/bin に ruby-build が入りました。これで .rbenv 上の操作がやりやすくなる
rbenv install VERSION でrubyをインストールする
rbenv install #atasatamatara@vm:~$ rbenv install #usage: rbenv install VERSION # rbenv install /path/to/definition # #Available versions: # 1.8.6-p383 # 1.8.6-p420 # 1.8.7-p249 # 1.8.7-p302 # 1.8.7-p334 # 1.8.7-p352 # 1.8.7-p357 # 1.8.7-p358 # 1.9.1-p378 # 1.9.2-p180 # 1.9.2-p290 # 1.9.2-p318 # 1.9.3-dev # 1.9.3-p0 # 1.9.3-p125 # 1.9.3-preview1 # 1.9.3-rc1 # 2.0.0-dev # jruby-1.6.3 # jruby-1.6.4 # jruby-1.6.5 # jruby-1.6.5.1 # jruby-1.6.6 # jruby-1.6.7 # jruby-1.7.0-dev # maglev-1.0.0 # rbx-1.2.4 # rbx-2.0.0-dev # ree-1.8.6-2009.06 # ree-1.8.7-2009.09 # ree-1.8.7-2010.01 # ree-1.8.7-2010.02 # ree-1.8.7-2011.03 # ree-1.8.7-2011.12 # ree-1.8.7-2012.01 # ree-1.8.7-2012.02
今回は 1.9.3-rc1にします。ついでにglobalに設定。 global に設定した後 .rbenv 上で消した場合、 ~/rbenv.version あたりを適当に消す必要があります
rbenv install 1.9.3-rc1 rbenv global 1.9.3-rc1
ここらへんについての他の参考
rbenv - こしごぇ
rbenv + ruby-buildのインストール方法 - 223 Software
ブログが見つかりません
bundlerをいれる
rbenv exec gem install bundler rbenv rehash
たぶん .rbenv のグローバルっぽいところにきっとbundlerがはいる(間違ってたら教えて下さい)。rehashってのをしないとインストールしたモジュールが更新されないらしい。
bundlerでSassをいれる
普通はここでRailsをいれる、っていうかもうRuby自体がRailsの存在が大きすぎてあれすぎる?
他の資料ではhamlでSassができるって書いてあったりもしたけれど、現時点ではSassってgemを直接入れないといけないっぽい。
こんな感じでGemfileをつくる
mkdir sample cd sample cat >> Gemfile <<EOF source "http://rubygems.org" gem "sass" EOF
インストール。pathを vendor/budle みたいにサンドボックスっぽいところにいれる?
rbenv exec bundle install --path vendor/bundle
これでいちおうはいった(ような気がする)。肝心のSassは
bundle exec sass
これでうごくっぽい。適当なサンプルを食わせてみる
.link :color #0080DD
これを bundle exec sass hoge.sassする。と、
.link { color: #0080dd; }
こんなかんじで標準出力される。bundle exec sass hoge.sass >> hoge.css すれば生成できますね
長かった
でもまあやり方がわかればたいしたことはないのですね。Sassならインデントでかけてうれしいなーって思うけど、ここまでするなら別にLessでもいいかなーという感じでもあります。
追記
でもSassには --wtachというのがあって、書き換えたものを動的に出力してくれるらしい
File: SASS_REFERENCE
bundle exec sass --watch input.sass:output.sass bundle exec sass --watch sass_directory:css_directory
これは便利だね!