2012-12-04 36 views
49

私は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に新しいですし、私が取り組むためにどのように見当がつかないこの問題。

+1

現在のディレクトリでファイルを実行するには、名前の前に "./"を記述する必要があります。そうしないと、クラスパス内の実行可能ファイルを検索しようとします。だから特にそうするには、 "./sbt"と打ち込んでください。それはここで間違っていたものですが、以下の他の回答に従って実際にインストールすることが明らかです。 –

+8

この質問を閉じる理由はありません。 sbtは非常に便利なプログラミングツールであり、おそらくStackOverflowのルールに適合します。 –

+3

誰がこの質問を閉じる決定をしましたか?なぜあなたはまず何が代替案になるのか考えないのですか?スーパーユーザーは*場所ではありません。 'sbt'はそこに属していません。これは正しい場所です。私はこの質問/回答に関心のある人の中にいます。私はサーバー側のプログラマーですが、「トピック」では十分ではありませんか? – javadba

答えて

32

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

+0

はい、問題は私が郵便番号をインストールして、インストールファイルがどうにかして "壊れていた"という事実によるものです。 – NoIdeaHowToFixThis

+1

FYI:リンクが壊れています。これはすべきだ:http://dl.bintray.com/sbt/debian/私は思う。 –

+0

ありがとうございます。リンクが更新されました。 –

12

ませんコマンドsbtは、sbtがパス上にないことを言っている

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

パスにディレクトリを追加する方法についてはquestionを参照してください。

path is set correctlyを確認するには、LINUXでwhichコマンドを使用します。

$ which sbt 
/usr/bin/sbt 

最後に、sbtsbt -helpまたは同様に実行してみてくださいを動作していることを確認する:出力は次のようになります。あなたはファイルと呼ばれるsbt.shにSBT Extrasスクリプトを保存し、実行する権限を設定することができ、別のアプローチとして、

$ sbt -help 
Usage: sbt [options] 

    -h | -help   print this message 
    ... 
4

:-helpとの出力は次のようになります。このファイルをパスに追加するか、〜/ binディレクトリの下に置いてください。

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

152

SBTをubuntuにインストールする最も簡単な方法は、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

そして、あなたが行われています!

+4

素晴らしい作品です!しかし、私よりも: "検出されたsbtバージョン0.12.2 sbtランチャーが見つかりません0.12.2 ダウンロードしてください: http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt -launch/0.12.2/sbt-launch.jar To /home/leo/.sbt/.lib/0.12.2/sbt-launch.jar " これは既に書かれているとおりです。しかし、あなたの参照のためにここに: "mkdir -p /home/leo/.sbt/.lib/0.12.2/ wget -O /home/leo/.sbt/.lib/0.12.2/sbt-launch.jar http ://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.2/sbt-launch.jar " – leo

+0

@leo追加していただきありがとうございます。私は質問に固有のものではないので、答えに追加しませんが、同じ 'sbt'スクリプトを使ってすべてのsbtのインストールに関係します。 – paradigmatic

+2

コピー/ペースト後すぐに動作します。ありがとう! – mdup

3

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

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

./sbt 

これには、(例えば)あなたのホームディレクトリにファイルをドロップする悪意のある当事者によりシステムコマンド(および他のプログラム)のオーバーライドを防ぐために、Linuxでのセキュリティ機能です。 lsコマンドを実行する前に/ etc/passwdファイルをサードパーティに電子メールで送信する 'ls'というスクリプトを想像してみてください...または 'rm -rf'を実行するもの...

あなたが何かを必要としない限り最新のソースコードに特有のものだから、パラダイムが投稿したことをするのが最善で、Typesafeリポジトリからインストールするのが最良です。

関連する問題