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.

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

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

nvmでnode.jsをいれてバージョンを変えたりする

creationix/nvm
を使うと、node.jsのインストールが管理できて、好きなバージョンへ切り替えたりできます

すでにインストール済みでしたが
creationix/nvm#install-script
のscriptを実行すればインストールされるはずです

どのバージョンがあるかを確認するには

$ nvm ls-remote

でずらずらとバージョンが出てくるので

$ nvm install v0.12.7

とかすれば

$ node -v

でv0.12.7が入ったのが確認できます

$ node ls

で入ってるバージョンが確認できて

$ node use v0.11.13

で違うバージョンに切り替えられます