owned mediaウェブ制作に役立つコンテンツを発信中!

Ruby SassからDart SassへSassの環境を移行させるまでの流れ

最終更新日: Update!!
当メディアサイトでもSassのインストールにはRuby製のRuby Sassを使った方法を紹介していますが、Sassの公式サイトでは、Ruby Sassの開発が随分前に止まっており既に廃止されている状況とのこと。公式サイトにも下記のようにアナウンスされています。  
“ Ruby Sass was the original implementation of Sass, but it reached its end of life as of 26 March 2019. It's no longer supported, ..... ”
  基本的にはGulpでnode製のSassを使うことが多いのですが、ちょうど機会があったので、このタイミングでRuby Sassに代わって推奨されている「Dart Sass」へ移行させましたので、それまでの流れを残しておきたいと思います。   移行前はこのようにRuby Sassが使われていました。ここからDart Sassに移行していきます。
$ sass -v
Ruby Sass 3.7.4
  まずは、Homebrew経由でDart Sassをグローバルにインストールしていきます。下記のコマンドを実行します。
$ brew install sass/sass/sass
  Ruby Sassが使われている場合には、下記のようにエラーメッセージが出ます。内容としては、既にRuby Sassで使われていたSassの実行ファイルが存在していることが問題のようです。
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/sass
Target /usr/local/bin/sass
already exists. You may want to remove it:
 rm '/usr/local/bin/sass'
  そこで下記のコマンドによって、該当のSass実行ファイルに対してシンボリックリンクとして上書きします。このようにすることで、Dart Sassが使えるようになります。
$ brew link --overwrite sass
  シンボリックリンクを上書きしたら、実際にDart Sassに変わっているかを確認してみます。ちなみに、Dart Sassでは「-v」のコマンドオプションが使えないので下記のようにします。
$ sass --version
1.26.5
  バージョンが変わっており、Ruby SassからDart Sassへの移行が完了したことが確認できますね。もし、これで変わっていない場合には、「.bash_profile」にて直接、Dart Sassへの環境変数のパスを通してあげると使えるようになります。 【.bash_profile】
export PATH=/usr/local/Cellar/sass/1.26.5/bin:$PATH
  .bash_profileファイルの編集時には、下記のコマンドで編集内容を適用させることを忘れずに。
$ source ~/.bash_profile
  念の為、下記のコマンドでSassの実行ファイル参照先を調べて、Rubyでインストールしたものになっていないかどうか確認しておくといいですね。「/usr/local/Cellar/」にはHomebrewでインストールしたパッケージが入ります。
$ which sass
/usr/local/Cellar/sass/1.26.5/bin/sass
  Dart Sassの使い方ですが、Ruby Sassと同じように各コマンドやオプションが使用できますので、移行後もこれまで通り開発を進めることができます。
$ sass --watch before.scss after.css
  Ruby Sassはあまり使う機会もなく、長らくほったらかしにしておりましたが、ちょうどDart Sassに移行する機会があったので良かったです。Ruby Sassをお使いの方は忘れずに是非試してみてください。
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram