macOSでES2016を触るべくJavaScriptエンジンをインストールしようとmozjs-45.0.2のtarballをダウンロードしてビルドしたがデフォルトインストーラではライブラリが1つインストールされなかったので手動で作業して事なきを得た

ReactやNode.js華やかなりしであるが、それはともかく基礎的なES2016の学習をしようと思い、ReactでもNodeでもなくmacOS SierraにJavaScriptエンジンであるmozjsをインストールしようと血迷った。

MacPortsではバージョンがなぜか古いままだったのでMozillaからmozjs-45.0.2.tar.bz2をダウンロード。

https://people.mozilla.org/~sfink/mozjs-45.0.2.tar.bz2

手順としては簡単で、適当なディレクトリでtarballをtarで展開して(私はブラウザからダウンロードしたので直接Downloadsフォルダで展開してしまった)、展開されたディレクトリにあるINSTALLファイルに書いてある手順にしたがって作業をすればいいだけである。

と、思ったのだが……。

や、厳密には、ほぼ手順通りであった。
たぶん他のUNIX系OSであっても、私がmacOS上で作業したように、おそらく、スムーズにコトは運ぶはずだ。

まあ、こんなふうに、INSTALLファイルに書かれているとおりに、実行したわけだ。

コンパイル時間はマシンスペックや同時に走っているプロセスに依存するのでなんとも言えないが、私のMBP(Retina,13-inch,Early 2015)では30分ぐらいで終わった。

終わったらmake installである。
当然/usr/local配下にインストールされるので、rootで実行する必要がある。
「zura」は私のユーザ名なので、その辺は適当にやってくださいな。

出力は、こんな感じである。

うん、よいよい。しかし、rootから一般ユーザに戻ってjsコマンドを叩くと…しょんぼりな結果に。

ライブラリがないといわれてしまう。
おいー。インストールしてくれへんのかいな。
findで/usr/local配下をあさる。

なんも表示されん…。
じゃあ、インストール元(mozjs-45.0.2/js/src/obj)配下は、というと…。

ありまんがな。
そいじゃnsinstallコマンドはあるんかいな?

dist/bin/nsinstallがある。
これやな。
ということで試しにdist/bin/libmozglue.dylibを入れることにした。
あ、例によってrootにsuしてからの作業(さっき書いたのでsu部分は省略)。

特にメッセージ出力なく終わった。本当にインストールされたのかを確認。

インストールされた。
では、さっそくjsコマンドを実行。

ES2016わかってないので(だって勉強するために入れたんだもん)、上のコード例は適当なんだけど、letもclassも使えるからES2016のコードが書けるjsがインストールされたことは確認できた。

ということで、やっとこさスタートラインにきたのであった。

WebデベロッパーのためのReact開発入門 JavaScript UIライブラリの基本と活用改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで初めてのJavaScript 第3版確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)関数型プログラミングの基礎 JavaScriptを使って学ぶ

コメントを残す

メールアドレスが公開されることはありません。