LoginSignup
1
1

More than 5 years have passed since last update.

UbuntuにJxcoreをインストールしてみた

Last updated at Posted at 2016-06-10

最近、Node.jsをやり始めた者です。
Node.jsをやり始めてから、色々調べているうちにVert.xだったりJXCoreという単語を見かけるようになって気になったので使ってみようと思いました。

そもそもJXcoreってなに?

僕も全然詳しくないので⇓の記事を参考にしてください。
Node.jsを拡張した「JXCore」、オープンソースでソースコードを公開
JXCoreを使ってJavaScriptのコードをネイティブコードにパッケージ化する

ざっくり言うと、Node.jsに独自拡張が追加されたやーつって事らしいです。

環境

今回はdocker上に立てたUbuntu14.04にインストールしてみようと思います。

事前準備

インストールのまえに必要そうなパッケージをインストールしておきます。
※不要なものもあるかもしれませんが、ご容赦ください。。

sudo apt-get install git clang-3.4 clang-3.4-doc libclang-common-3.4-dev libclang-3.4-dev libclang1-3.4 libclang1-3.4-dbg libllvm-3.4-ocaml-dev libllvm3.4 libllvm3.4-dbg lldb-3.4 llvm-3.4 llvm-3.4-dev llvm-3.4-doc llvm-3.4-examples llvm-3.4-runtime clang-modernize-3.4 clang-format-3.4 python-clang-3.4 lldb-3.4-dev

インストール

こちらを参考にやっていきます。

Prerequisitesを見ると

* GCC 4.2 or newer (for SpiderMonkey builds 4.7+)
* Python 2.7.x
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)
* for Windows (VS2012+) and Visual C++ Redistributable

となってます。

今回はUbuntuなのでGCC、 Python、 GNU Makeをインストールします。

sudo apt-get install gcc python make

バージョン確認

$ gcc -v
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 

$ python -V
Python 2.7.6

$ make -v
GNU Make 3.81

OK!

次はgithubからソースを落としてきます。
今回はとりあえず、/home/yama/dev/に落としてきます。

$ cd /home/yama/dev
$ git clone https://github.com/jxcore/jxcore.git

ソースを落としてきました!
jxcoreというディレクトリが出来てます。中に入っちゃいます。

$ cd ./jxcore

そして、、、コンパイルです。

$ ./configure
$ make

コンパイルに成功すると、out/Release/の中にjxとういう実行コマンドが出来てました!!

$ pwd
/home/yama/dev/jxcore

$ ls ./out/Release/

jx ←これ           libopenssl.a  libv8_nosnapshot.a  obj
libcares.a        libsqlite3.a  libv8_snapshot.a    obj.cmp
libchrome_zlib.a  libuv.a       linker.lock         obj.host
libhttp_parser.a  libv8_base.a  mksnapshot          obj.target

これを叩けばいいのですが、とりあえずパスを通しておきます。

$ vi ~/.bashrc
// 最後の行に以下を追加
PATH=$PATH:/home/yama/dev/jxcore/out/Release/

確認

  • バージョン
$ jx -v
v0.10.40
  • ファイル実行
$ jx hello.js
Hello!, jx

hello.jsの中身はこちら

hello.js
console.log('Hello!, jx');

おまけ

Node.jsの拡張ってことだったけど、もとになってるNodeのバージョンはいくつなのかな?と思ったので確認。
コマンドライン上で確認。

version
jx
> process.versions;

{ http_parser: '1.0',
  node: '0.10.40',
  jxcore: '0.3.1.2',
  ch: 0,
  v8: '3.14.5.9',
  sm: 0,
  embedded: { sqlite: '3.9.1' },
  ares: '1.9.0-DEV',
  uv: '0.10.36',
  zlib: '1.2.3',
  modules: '11',
  openssl: '1.0.1p' }

v0.10.40か・・・。

一応、ROADMAPには
nodeの4.x系に対応とのことだけど。。。いつになるんだろうか。

Next Release RoadMap*

    Debugger support for SpiderMonkey (@)
    Node 4.x update (@)
    Power7, Power8, Mips64 Arch. support (+)
    Debugging from Mobile Applications (@)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1