読者です 読者をやめる 読者になる 読者になる

日頃の行い

個人的な日頃の行いをつらつら書いてます\\\\ ٩( 'ω' )و ////

ScalaをItamaeでインストールするだけ

Scala Ruby Itamae

Scalayum installしようとしたら2.9系統が入ったので(下記参考)

arata.hatenadiary.com


楽ちんに最新版をインストールするのめんどいなと思い、
Itamaeに慣れるのも含めてインストール用のレシピ書いてみました。
Itamaeはこちら。wikiのドキュメントが充実しています。github.com

そして、こちらが検証に使ったgithubレポジトリです。

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


この状態で下記コマンドをインストールするとScalaJavaがインストールされます。
(参考)

$itamae ssh \
	-h 192.168.33.101 \
	-p 22 \
	-u vagrant \
	-i ~/.vagrant.d/insecure_private_key recipe.rb

テンプレートに対して、変数渡せるので便利ですね。
シェルスクリプトだけだと、sedコマンドで頑張る方法しか私は浮かばないので
シェルスクリプトと比較すると
itamaeのようなツールに頼る方が良いと思える点の一つですね。
Scalaの話というよりItamaeの話でした。