以前Visual Studio Codeがオープンソース化されたときに、フルスクラッチでビルドしようとして失敗したのだった。
あれからずいぶんと時間がたったが、結局フルスクラッチビルドできるようになったのだろうか?久しぶりに挑戦してみよう。
Visual Studio Codeのフルスクラッチビルドに挑戦
Visual Studio Codeのリポジトリは以下に格納されている。ビルドに挑戦した環境は、Ubuntu 15.10をVagrant上で動作させている。
インストールには、以下のWikiを参考にした。
Node.JSのビルド
Visual Studio CodeにはElectronが利用されており、ビルドにはNode.JSが必要になる。v4以上が必要ということで、なるべく最新版を利用するようにしたい。 オフィシャルからソースコードをダウンロードして、ビルドした。
オフィシャルページからソースコードをダウンロードして、解凍し、通常のconfigure, make, make installの流れでインストールできた。
tar xvfz node-v4.4.1.tar.gz cd node-v4.4.1 ./configure make sudo make install
Visual Studio Codeのビルド
これは、Visual Studio CodeのWikiを参考にした。
まずは、Wikiに書いてある通り、各種パッケージをインストールしておいた。
sudo apt-get -y install libx11-dev python fakeroot
そして、ビルドを実行する。
git clone https://github.com/microsoft/vscode cd vscode ./scripts/npm.sh install --arch=x64
特にエラーもなくビルド終了できた。成功だ!
Visual Studio Codeを立ち上げる
ビルドに成功しても、バイナリファイルが見つからないのだが、これはスクリプトを読み出すことでVisual Studio Codeを実行できる。
~/vscode$ ./scripts/code.sh
しかし何も考えずに実行すると、ライブラリがないとエラーになった。
~/vscode$ ./scripts/code.sh [18:05:43] Using gulpfile ~/vscode/gulpfile.js [18:05:43] Starting 'electron'... [18:05:43] Finished 'electron' after 472 μs ./.build/electron/electron: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
そこで、ライブラリをインストールする。
sudo aptitude install libnss3 libnss3-dev
./scripts/code.sh
これで起動できた!
結論
Visual Studio Codeはフルスクラッチからビルドできるように改善された。