Scala Bazaar Systemとは
Scala Bazaar System、略してsbazはScalaの提供するパッケージ管理システム。新しいプログラムのインストールやアップグレードを自動化でき、パッケージの配布を容易にする。CPANやaptみたいな感じ
Scalaのインストール
念のため、Scalaのインストールから順を追って、、
http://www.scala-lang.org/からDownload Scalaのリンクを辿り、実行ファイルダウンロード&解凍
ここでは解凍したファイルを C:\Program Files\scala に配置
PATH環境変数の追加
binディレクトリのフルパスをPATH環境変数に追加する。一時的であれば、コマンドプロンプト立ち上げて、
set path=%path%;C:\Program Files\scala\bin
または、[システムのプロパティ]-[詳細設定]-[環境変数]でPATHに追加
scala -versionにてバージョン情報が表示できればOK
>scala -version Scala code runner version 2.7.5.final -- Copyright 2002-2009, LAMP/EPFL
インストール状況の確認
インストール状況の確認には「sbaz installed」とする
>sbaz installed base/1.9 sbaz/1.25tmp sbaz-setup/1.0 scala/2.7.5.final scala-devel/2.7.5.final scala-library/2.7.5.final scala-tool-support/2.7.5.final 7 packages installed
有効なパッケージの確認
有効なパッケージの確認には「sbaz available」とする
>sbaz available Actorrent (0.1) base (1.9, 1.8, 1.7) bcprov-jdk14 (0.0.0.1) ・・・ scala-test (2.7.5.final, 2.7.4.final, 2.7.3.final, ...) ・・・ 53 package names 332 total packages
なにやらいっぱい出てくる・
パッケージのインストール
Scalaでの単体テストをサポートする scala-test をインストールしてみる
>sbaz install scala-test planning to install: scala-test/2.7.5.final Installing...
確認してみよう
>sbaz installed base/1.9 sbaz/1.25tmp sbaz-setup/1.0 scala/2.7.5.final scala-devel/2.7.5.final scala-library/2.7.5.final scala-test/2.7.5.final scala-tool-support/2.7.5.final 8 packages installed
scala-testがインストールされたことがわかる。
パッケージのアップグレード
>sbaz upgrade Refreshing list of available packages... Nothing to upgrade.
そうですか、最新ですか
universe
sbazのパッケージはuniverseと呼ばれるリポジトリで管理されている。
現在のリポジトリは以下のように確認できる
>sbaz showuniverse SimpleUniverse "scala-dev" (http://scala-webapps.epfl.ch/sbaz/scala-dev)
別のリポジトリからパッケージを取得したい場合は、
>sbaz setuniverse misc/sbaz/descriptors/scala-dev
とかでuniverseを変更できる。
その他のコマンド
helpで見ることができる
>sbaz -help sbaz [ global_options... ] command command_options... Global options: -dOperate on dir as the local managed directory. -n | --dryrun Do not actually do anything. Only print out what tool would normally do with the following arguments. -v | --verbose Output messages about what the sbaz tool is doing. -version Version information. --univ name Operate on the named remote universe. --univ-url url Operate on the remote universe at the specified url. Available commands: available - list the available packages for installation compact - clear the download cache to save space help - display a help message install - install a package installed - list the packages that are installed keycreate - request that a new key be created keyforget - forget the specified key keyknown - list all known keys keyremember - remember the specified key for future use keyremoteknown - list all keys known to the bazaar server keyrevoke - request that a specified key be revoked pack - create an sbaz package remove - remove a package retract - retract a previously shared package setuniverse - set the universe for a directory setup - initialize a directory to be managed share - upload a package description to the universe show - show information about one package showuniverse - show the active universe update - update the list of available packages upgrade - upgrade all possible packages