Ubuntuでjavaを切り替える

UbuntuでAndroid Studioをいれてみると、OpenJDKでなくてOracleJDKを使えってことで調べました

切り替えるコマンドを打ってみたら

$ sudo update-alternatives –config java

alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。

  選択肢    パス                                          優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自動モード
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手動モード
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          4         手動モード

とでてきたので、いれてましたねー、で切り替えたらできあがりました

必要に応じて

$ sudo update-alternatives –config javac
$ sudo update-alternatives –config javaws

とかするといいそうです

vagrantでVirtualboxとGuestAdditionsのバージョンを合わせたい

$ vagrant up
したらいつからかこんなメッセージが出てました

Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   4.1.12
VBoxService inside the vm claims: 4.3.30
Going on, assuming VBoxService is correct...
GuestAdditions seems to be installed (4.3.30) correctly, but not running.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   4.1.12
VBoxService inside the vm claims: 4.3.30
Going on, assuming VBoxService is correct...

Virtualboxをアップデートしてから、GuestAdditionとバージョンがあってないとか
GuestAdditionのバージョンをあげればよさそうでしたが

$ vagrant plugin list

vagrant-cachier (1.2.1)
vagrant-login (1.0.1, system)
vagrant-omnibus (1.4.1)
vagrant-share (1.1.4, system)
vagrant-vbguest (0.10.0)

dotless-de/vagrant-vbguest が入っててこれが自動でアップデートしてくれるはずだった気が..
これもアップデートされるかなと

$ vagrant plugin install vagrant-vbguest

で確認

$ vagrant plugin list

vagrant-vbguest (0.10.1)

バージョン上がった

$ vagrant reload

GuestAdditions 4.3.30 running --- OK.

したらエラーでなくなりました!
よかった、よかった

bundel install でsqlite3のエラー

あるgemのリポジトリをcloneしてきて、bundleするとsqlite3あたりでエラーが..

$ bundle

An error occurred while installing sqlite3 (1.3.10), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.10'` succeeds before bundling.

sqlite3をいれろということなのでしたがって

$ gem install sqlite3 -v ‘1.3.10’

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
        ERROR: Failed to build gem native extension.

    /home/user/.rbenv/versions/2.2.3/bin/ruby -r ./siteconf20151008-14352-17hawla.rb extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (the
location where your sqlite3 shared library is located).
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

またしてもエラー
ライブラリが足りないらしい、Ubuntuだったので

$ sudo apt-get install libsqlite3-dev

これでbundleしてみる

$ bundle

と、無事入りました

React.jsのテストをJestでやってみる

Jest | Painless JavaScript Unit Testing
のチュートリアルをやってみました

書かれてる通りjsファイルを用意してpackage.jsonも用意

$ npm install

でインストールした後

$ npm test

/home/user/react-sample/node_modules/jest-cli/src/TestRunner.js:433
        const cacheA = testPerformanceCache && testPerformanceCache[a[0]];
        ^^^^^
SyntaxError: Use of const in strict mode.
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/user/react-sample/node_modules/jest-cli/src/jest.js:13:18)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
npm ERR! Test failed.  See above for more details.

といった感じでエラーが..
調べて見るとnode.jsのバージョンが古いようで

$ node -v
v0.11.13

でした

nvmでインストールしていたので

$ nvm install v0.12.7

としましたが同じエラー

$ nvm install v4.1.2

とするとうまくいきました

$ npm test

Using Jest CLI v0.5.9
 PASS  __tests__/CheckboxWithLabel-test.js (0.597s)
1 test passed (1 total)
Run time: 0.894s