web-dev-qa-db-ja.com

Ubuntuにsbtをインストールする

Ubuntuにsbtをインストールしました。

:~/bin/sbt/bin$ ls
classes    sbt      sbt-launch.jar       target
jansi.jar  sbt.bat  sbt-launch-lib.bash  win-sbt

ただし、sbtを(sbtが置かれているのと同じディレクトリから)起動しようとすると、動作しません。

No command 'sbt' found, did you mean:
 Command 'skt' from package 'latex-sanskrit' (universe)
 Command 'sb2' from package 'scratchbox2' (universe)
 Command 'sbd' from package 'cluster-glue' (main)
 Command 'mbt' from package 'mbt' (universe)
 Command 'sbmt' from package 'atfs' (universe)
 Command 'lbt' from package 'lbt' (universe)
 Command 'st' from package 'suckless-tools' (universe)
 Command 'sb' from package 'lrzsz' (universe)

私はLinuxを初めて使用しますが、この問題に取り組む方法がわかりません。

58

Zipバージョンのsbtをインストールしたようですが、これで問題ありません。ただし、Ubuntuを使用している場合は、ネイティブのdebianパッケージをインストールすることをお勧めします。これが、Ubuntu 12.04でのインストール方法です。こちらで確認してください: http://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html または、単に here から直接ダウンロードしてください=。

40
Liang Zhou

UbuntuにSBTをインストールする最も簡単な方法は、Typesafeが提供するdebパッケージです。

次のシェルコマンドを実行します。

  1. wget http://apt.typesafe.com/repo-deb-build-0002.deb
  2. Sudo dpkg -i repo-deb-build-0002.deb
  3. Sudo apt-get update
  4. Sudo apt-get install sbt

これで完了です!

160
paradigmatic

コマンドsbtが見つかりません

sbtはパス上にないということです。 ./sbtから~/bin/sbt/binを実行するか、sbt実行可能ファイルが正しく実行されることを確認する場所で実行してください。また、sbt実行可能ファイルに対する実行権限があることも確認してください。これが機能する場合、~/bin/sbt/binをパスに追加すると、sbtはどこからでも実行されるはずです。

これを参照してください question パスへのディレクトリの追加について。

パスが正しく設定されている を確認するには、LINUXでwhichコマンドを使用します。出力は次のようになります。

$ which sbt
/usr/bin/sbt

最後に、sbtが機能していることを確認するには、sbt -helpまたは同様のコマンドを実行してください。 -helpを使用した出力は次のようになります。

$ sbt -help
Usage: sbt [options]

  -h | -help         print this message
  ...
12
Brian

別の方法として、 SBT Extras スクリプトをsbt.shというファイルに保存し、アクセス許可を実行可能に設定できます。次に、このファイルをパスに追加するか、〜/ binディレクトリの下に置きます。

ここでのボーナスは、プロジェクトのプロパティに応じて正しいバージョンのSBTをダウンロードして使用することです。これは、GitHubなどからプルするオープンソースプロジェクトをコンパイルする場合に便利です。

4
Jack

私の推測では、ディレクトリ〜/ bin/sbt/binはPATHにありません。

現在のディレクトリにあるプログラムまたはスクリプトを実行するには、次のようにコマンドの前に./を付ける必要があります。

./sbt

これはLinuxのセキュリティ機能であるため、悪意のあるユーザーがホームディレクトリ(たとえば)にファイルをドロップしてシステムコマンド(およびその他のプログラム)が上書きされるのを防ぎます。 lsコマンドを実行する前にサードパーティに/ etc/passwdファイルをメールで送信する「ls」というスクリプトを想像してください...または「rm -rf。」を実行するスクリプトを...

とは言っても、最新のソースコードから特定の何かを必要としない限り、彼の投稿でパラダイムに述べたことを実行し、Typesafeリポジトリからインストールするのが最善です。

3
Barney Govan