RedWizBlog

紙とwebのお仕事をやらせて頂いております。目指せ赤魔道士。制作の事やイラストの事とかゲームの事などを超絶不定期に書いています。

compassをアップデートしようと思ったら6時間かかった

compassをアップデートしようと思ったら6時間かかった

compassのvertical-rythemで、単位にremを使いたいなーと軽い気持ちでアップデート始めたら、恐ろしく時間を消費したお話。 焦りすぎてスクショを撮る余裕もなかったので、うろ覚えな部分が多いです。

始まりはちょっとした出来心

前提として、職場ではmacを使用していて、rubyは元々Macに入っていたものを使用。
compassのvertical-rhythmは便利だけど単位がemで、色々サイズの管理が面倒くさいからremを使えるようにしたい!と思い、sassとcompassのバージョン上げてしまおうと軽い気持ちでアップデート作業を開始。
sassのアップデートは問題なかったのですが、compassをアップデート後、バージョン確認のコマンドを打ち込んでみると、ruby1.9以上の機能が必要です的なエラーコメントが返ってきました。
現在のrubyのバージョンを確認してみると、1.87。元々macに用意されていたrubyを使用していたので結構古いバージョンで、それでは動く訳がない、じゃあrubyをアップデートするかとググり始めたそこからがruby+sass+compassとの闘いの始まりでした。

rubyアップデートへの道のり

ググった結果、rubyには簡単にアップデート出来るコマンドが無いと言う事実を知りました。
調べて行くと、macだったらhomebrewと言うツールを入れて最新版入れると良いよと言う記事を結構見かけたので、導入を決意。
homebrewをインストールするぜ!と手順を調べて見たところ、

  1. 管理するパッケージによっては、javaがいるのでjavaをインストール
  2. xcodeからコマンドラインツールをインストール。(xcodeに登録する必要がありxcode登録には要Apple ID。)
  3. ターミナルからhomebrewインストール(落とすためのコマンドはコピペできる)

何だろうそんなに難しくないのに面倒くさい、登録関係。

とにかく職場のメアドでApple IDを取得し、xcodeに登録。
xcodeコマンドラインツール、homebrew、ruby最新版のインストールまでサクサク進み、これは意外と早く終わるんじゃないかと楽観しながらruby --vでバージョン確認すると、元々入ってるrubyのバージョンが表示されてしまいました。 ln -sコマンドでシンボリックリンク貼り直してみても、元々入ってるruby指すのでどうしたものかと悩み、調べて行くと、brew doctorと言う、トラブル診断コマンドがあるという事なので、ドクターを頼る事に。
brew doctorで先生の診断を待つと、パスを直してね的なエラーが表示されたので指示通りにコマンドを打ち、再びbrew doctorでチェック。
問題ないよ的なコメントが帰ってきたので、rubyのバージョンをチェックすると、usr/local/bin内に入っているrubyを指すようになりました。
最初からbrew doctorすれば良かった…orz

sass、compassにも泣かされる

rubyも入ったし、この勢いでsassを入れるぜと、インストールコマンドを打ち込んだら、何故かsassがインストール出来ない事態が発生。
焦りながらGoogle先生と1時間程にらめっこしても似たような事例がなく、もう一度落ち着いてターミナルに出ているエラーを読むと、権限が無いからインスト出来ないと書いてある。
ヤケになりながら、権限がないと言われたディレクトリの設定片っ端から書き換え、再びsassのインストールコマンドを打ち込むと今度は問題なくインストール。
バージョン確認すると、ちゃんとインストールしたらsassを指しています。 これはcompassもいけるでしょうと、今度はcompassをインストール→バージョン確認すると、usr/binに入れたcompassのバージョンが表示される。
usr/binのcompassのディレクトリ名を変更したらusr/local/binのcompassに繋ぎ直さないかなと浅知恵を働かせ、ディレクトリ名を変更すると、今度はusr/binにcompassなんて無いよというコメントが返ってくる始末……。
usr/local/bin内のcompassが見つけられない状態何だろうと判断し、.bash_profileに新しいcompassへのパスを通しバージョンを確認すると、あっさりと新しいcompassのバージョンを返してきて、無事に動くようになりました。わーい!

当初の目的である、compassのvertical-rythemでremが使えるようにはなりましたが、この作業に6時間弱かかりました…。
このまま、sassやcompassが動かなくなったらどうしよう等と恐ろしい考えが頭をよぎり、作業中は冷や汗が止まりませんでした。
大した知識もないのに、安易にバージョンアップしちゃいけませんね……。

参考にしたページ