昔Scalaをyum installしようとしたら2.9系統が入ったので(下記参考)
楽ちんに最新版をインストールするのめんどいなと思い、
Itamaeに慣れるのも含めてインストール用のレシピ書いてみました。
Itamaeはこちら。wikiのドキュメントが充実しています。github.com
やることは簡単
- tarボールを持ってくる
- 解凍
- PATHを貼る
準備
下記が必要です。
- itamaeのインストール
- vagrant up
こちらを参考にしてください
scala-environment-setup/Makefile at for-blog-20150507 · tarata/scala-environment-setup · GitHub
流れ
レシピ( recipe.rb )
特に何も考えること無くopenjdkインストールしています。
package "java-1.7.0-openjdk" scala_version = "2.11.6" execute "Download Scala File" do command sprintf("wget http://downloads.typesafe.com/scala/%s/scala-%s.tgz -O /usr/local/src/scala.tgz", scala_version, scala_version) cwd "/usr/local/src/" not_if "test $(ls /usr/local/src/scala.tgz)" end execute "Unzip Tar File" do command "tar xzvf scala.tgz" cwd "/usr/local/src/" end template "/home/vagrant/.bashrc" do action :create source "templates/bashrc" variables(scala_path: sprintf("/usr/local/src/scala-%s", scala_version)) end
PATHを貼るところ
template/bashrc
# .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions export SCALA_HOME=<%= @scala_path %> export PATH=$PATH:$SCALA_HOME/bin
この状態で下記コマンドをインストールするとScalaとJavaがインストールされます。
(参考)
$itamae ssh \ -h 192.168.33.101 \ -p 22 \ -u vagrant \ -i ~/.vagrant.d/insecure_private_key recipe.rb
テンプレートに対して、変数渡せるので便利ですね。
シェルスクリプトだけだと、sedコマンドで頑張る方法しか私は浮かばないので
シェルスクリプトと比較すると
itamaeのようなツールに頼る方が良いと思える点の一つですね。
Scalaの話というよりItamaeの話でした。