スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

WindowsでRubyをインストールしてSassの環境を構築する

update : 2018/01/06

個人で管理しているサイトのCSSをSass管理に切り替えてみようと思い、Windows上にSassの開発環境を構築します。

これまで、過去のプロジェクトの失敗から、Sassの導入には抵抗がありました。
SassはCSSを効率よく管理するしくみであり、作業者がSassを理解していることが前提条件です。そのため、Sassについて知識が乏しい人がメンバーにいると、逆に作業効率が低くなることがあります。また、Sassで出力したCSSファイルをクライアントなどが直接編集したりと、どうしてもSassによるプロジェクト管理は難しいというイメージがありました。

しかし、最近ではSassをうまく利用したプロジェクトを見かけるようにもなったので、技術習得の目的で、個人サイトで導入してみようと思いました。

ちなみに、今回構築した環境は以下の通りです。

  • Windows 10 Home 64bit
  • Ruby 2.4.3-1-x64

※現時点で2.5がリリースされていましたが、公式サイトにあるように、まだ不安定要素があるので2.4系を奨励とあったので、2.4.3にしました。実は初めに2.5のインストールにチャレンジしたのですが、エラーが発生しSassインストールは失敗しました。。

Rubyをインストール

SassはsassファイルやscssファイルをCSSファイルへとコンパイルする環境が必要です。今回は主流と思われるRubyを使って環境を構築します。
オブジェクト指向スクリプト言語 Ruby

MacではデフォルトでRubyが使えるようですが、Windowsの場合は以下のサイトからインストーラをダウンロードして環境を用意します。
RubyInstaller for Windows

インストーラを実行し、以下の画面では全てにチェックを入れます。
上から「環境変数にパスを追加する」「拡張子が.rbと.rbwのファイルをRubyに関連付ける」「文字コードにUTF-8を使用する」となっています。特にUTF-8については日本語で文字化けが発生しないために重要です。

Rubyのインストールが終わると、Windows上でUNIXシェル環境を実現するMSYS2のインストールを促されますが、今回は必要ないのでチェックを外します。

コマンドプロンプトからRubyの動作を確認します。
以下のコマンドを実行して、バージョン情報が表示されれば成功です。

> ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]

Sassをインストール

Rubyのパッケージ管理システムであるRubyGemsで、Sassをインストールします。
まずはgemコマンドが使えるかどうか、バージョン確認を行い、RubyGemsシステムのアップデートを実行します。

> gem -v
2.6.14

> gem update --system
Updating rubygems-update
Fetching: rubygems-update-2.7.4.gem (100%)
Successfully installed rubygems-update-2.7.4
Parsing documentation for rubygems-update-2.7.4
Installing ri documentation for rubygems-update-2.7.4
Installing darkfish documentation for rubygems-update-2.7.4
Done installing documentation for rubygems-update after 32 seconds
Parsing documentation for rubygems-update-2.7.4
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 2.7.4
Bundler 1.16.0 installed
RubyGems 2.7.4 installed
Regenerating binstubs
Parsing documentation for rubygems-2.7.4
Installing ri documentation for rubygems-2.7.4

=== 2.6.14 / 2017-10-09

Security fixes:

* Whitelist classes and symbols that are in loaded YAML.
  See CVE-2017-0903 for full details.
  Fix by Aaron Patterson.


------------------------------------------------------------------------------

RubyGems installed the following executables:
        C:/Ruby24-x64/bin/gem
        C:/Ruby24-x64/bin/bundle

Ruby Interactive (ri) documentation was installed. ri is kind of like man
pages for Ruby libraries. You may access it like this:
  ri Classname
  ri Classname.class_method
  ri Classname#instance_method
If you do not wish to install this documentation in the future, use the
--no-document flag, or set it as the default in your ~/.gemrc file. See
'gem help env' for details.

RubyGems system software updated

> gem -v
2.6.14

次にSassをインストールします。

> gem install sass
Fetching: rb-fsevent-0.10.2.gem (100%)
Successfully installed rb-fsevent-0.10.2
Fetching: ffi-1.9.18-x64-mingw32.gem (100%)
Successfully installed ffi-1.9.18-x64-mingw32
Fetching: rb-inotify-0.9.10.gem (100%)
Successfully installed rb-inotify-0.9.10
Fetching: sass-listen-4.0.0.gem (100%)
Successfully installed sass-listen-4.0.0
Fetching: sass-3.5.5.gem (100%)
Successfully installed sass-3.5.5
Parsing documentation for rb-fsevent-0.10.2
Installing ri documentation for rb-fsevent-0.10.2
Parsing documentation for ffi-1.9.18-x64-mingw32
Installing ri documentation for ffi-1.9.18-x64-mingw32
Parsing documentation for rb-inotify-0.9.10
Installing ri documentation for rb-inotify-0.9.10
Parsing documentation for sass-listen-4.0.0
Installing ri documentation for sass-listen-4.0.0
Parsing documentation for sass-3.5.5
Installing ri documentation for sass-3.5.5
Done installing documentation for rb-fsevent, ffi, rb-inotify, sass-listen, sass after 14 seconds
5 gems installed

以下のようにsassコマンドでバージョンが確認できればインストール成功です。

> sass -v
Sass 3.5.5 (Bleeding Edge)

これでSassを利用する環境が整いました。

sassコマンドを実行してみる

それでは実際にsassコマンドを実行してみます。
まず、scssファイルを用意しますが、今回そのファイルの内容は割愛します。コマンドプロンプトでscssファイルのあるディレクトリに移動し、「style.scss」をコンパイルして「style.css」を生成します。

> sass style.scss:style.css

圧縮した状態のCSSファイルを出力するには、以下のようにオプション「–style compressed」を追加してコンパイルします。

> sass style.scss:style.css --style compressed

開発中はscssファイルを更新するたびに、コンパイルを実行するのはめんどくさいです。そこで「–watch」を付加することで、ファイルが更新されたら自動でコンパイルするように監視させます。

> sass --watch style.scss:style.css
B!

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives