RubyGemsでSASSとCompassとSASS版Bootstrapをインストールする方法 - Qiita の時とは違う方法でインストールしてみようと思いました。
環境
- OS : Windows10 64bit
- RubyGems : 2.6.12
インストールするもの
- Bundler : 1.15.1
- SASS : 3.4.24 (Selective Steve)
- Compass : 1.0.3 (Polaris)
- Bootstrap : bootstrap-sass-3.3.7
RubyGemsをインストールする
Windows10にRubyGemsをインストールする方法 - Qiita
RubyGemsを最新化する
$ gem -v
2.6.11
$ gem update --system
RubyGems 2.6.12 installed
Parsing documentation for rubygems-2.6.12
Installing ri documentation for rubygems-2.6.12
=== 2.6.12 / 2017-04-30
Bug fixes:
* Fix test_self_find_files_with_gemfile to sort expected files. Pull
request #1880 by Kazuaki Matsuo.
* Fix issue for MinGW / MSYS2 builds and testing. Pull request #1879 by
MSP-Greg.
* Fix gem open to open highest version number rather than lowest. Pull
request #1877 by Tim Pope.
* Add a test for requiring a default spec as installed by the ruby
installer. Pull request #1899 by Samuel Giddins.
* Fix broken --exact parameter to gem command. Pull request #1873 by Jason
Frey.
* [Installer] Generate backwards-compatible binstubs. Pull request #1904
by Samuel Giddins.
* Fix pre-existing source recognition on add action. Pull request #1883 by
Jonathan Claudius.
* Prevent negative IDs in output of #inspect. Pull request #1908 by Vít
Ondruch.
* Allow Gem.finish_resolve to respect already-activated specs. Pull
request #1910 by Samuel Giddins.
=== 2.6.11 / 2017-03-16
Bug fixes:
<省略>
RubyGems installed the following executables:
C:/app/Ruby24-x64/bin/gem
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.
Updating rubygems-update
Successfully installed rubygems-update-2.6.12
Parsing documentation for rubygems-update-2.6.12
Installing darkfish documentation for rubygems-update-2.6.12
Done installing documentation for rubygems-update after 174 seconds
Parsing documentation for rubygems-update-2.6.12
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 2.6.12
RubyGems system software updated
$ gem -v
2.6.12
Bundlerをインストールする
Bundlerというのは・・・
ざっくり和訳 : アプリケーションの依存関係を管理し、複数のマシンで体系だって反復的にアプリケーションをインストールできる。
Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably
bundler | RubyGems.org | your community gem host
※. 英語はとても弱いのでどなたか初心者向け一言和訳があれば教えてください。
$ gem install bundler
Successfully installed bundler-1.15.1
Parsing documentation for bundler-1.15.1
Installing ri documentation for bundler-1.15.1
Done installing documentation for bundler after 38 seconds
1 gem installed
$ bundler -v
Bundler version 1.15.1
Gemfileを作成する
# カレントディレクトリにシンプルなGemfile作成する
$ bundle init
Writing new Gemfile to C:/Users/UserName/Gemfile
# Gemfileを編集する
$ vi Gemfile
## ------ ここからGemfileの内容-------------
# frozen_string_literal: true
source "https://rubygems.org"
# gem "rails"
## ----ここから下を追記する-----------
gem 'compass','1.0.3'
gem 'bootstrap-sass','3.3.7'
- Gemfileの書き方はが参考になりました。
Bundlerでインストールする
$ bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Fetching chunky_png 1.3.8
Installing chunky_png 1.3.8
Fetching multi_json 1.12.1
Installing multi_json 1.12.1
Fetching sass 3.4.24
Installing sass 3.4.24
Fetching rb-fsevent 0.9.8
Installing rb-fsevent 0.9.8
Fetching ffi 1.9.18 (x64-mingw32)
Installing ffi 1.9.18 (x64-mingw32)
Fetching execjs 2.7.0
Installing execjs 2.7.0
Using bundler 1.15.1
Fetching compass-core 1.0.3
Installing compass-core 1.0.3
Fetching compass-import-once 1.0.5
Installing compass-import-once 1.0.5
Fetching rb-inotify 0.9.10
Installing rb-inotify 0.9.10
Fetching autoprefixer-rails 7.1.1.2
Installing autoprefixer-rails 7.1.1.2
Fetching compass 1.0.3
Installing compass 1.0.3
Fetching bootstrap-sass 3.3.7
Installing bootstrap-sass 3.3.7
Bundle complete! 2 Gemfile dependencies, 13 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from compass:
$ sass -v
Sass 3.4.24 (Selective Steve)
$ compass -v
Compass 1.0.3 (Polaris)
Copyright (c) 2008-2017 Chris Eppstein
Released under the MIT License.
Compass is charityware.
Please make a tax deductable donation for a worthy cause: http://umdf.org/compass
Gemfile.lockの確認
bundle install
をするとGemfileと同じ場所にGemfile.lockが作成されます。
Gemfile.lockは何かについてはがとても分かりやすかったです。
gemfile.lockは、実際にgemをインストールした後の、「結果図」のようなものです。gem同士は関連し合っていることが多いので、gemfileに書いてあるgemの他にも必要なgemが生じます。Bundlerは、それらを自動でインストールし、gemfile.lockに記述します。
(省略)
gemfile.lockを使用することで、どの環境でも同じgem、gemのバージョンを使用することができるようになります。
bundle install と bundle updateの違いについて - Qiita
$ ls -l | grep 'Gemfile'
-rw-r--r-- 1 m-uki 197609 126 6月 26 22:36 Gemfile
-rw-r--r-- 1 m-uki 197609 808 6月 26 23:10 Gemfile.lock
$ vi Gemfile.lock
--------ここからGemfile.lockの内容--------------
GEM
remote: https://rubygems.org/
specs:
autoprefixer-rails (7.1.1.2)
execjs
bootstrap-sass (3.3.7)
autoprefixer-rails (>= 5.2.1)
sass (>= 3.3.4)
chunky_png (1.3.8)
compass (1.0.3)
chunky_png (~> 1.2)
compass-core (~> 1.0.2)
compass-import-once (~> 1.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
sass (>= 3.3.13, < 3.5)
compass-core (1.0.3)
multi_json (~> 1.0)
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
execjs (2.7.0)
ffi (1.9.18-x64-mingw32)
multi_json (1.12.1)
rb-fsevent (0.9.8)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
sass (3.4.24)
PLATFORMS
x64-mingw32
DEPENDENCIES
bootstrap-sass (= 3.3.7)
compass (= 1.0.3)
BUNDLED WITH
1.15.1