Установите sbt на ubuntu

Я установил sbt на Ubuntu.

:~/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

Кажется, вы установили zip-версию sbt, и это нормально. Но я предлагаю вам установить собственный пакет debian, если вы на Ubuntu. Так мне удалось установить его на Ubuntu 12.04. Проверьте это здесь: http://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html Или просто прямо загрузите его из здесь.

Ответ 2

Самый простой способ установки SBT на ubuntu - это пакет deb, предоставляемый Typesafe.

Выполните следующие команды оболочки:

  • wget http://apt.typesafe.com/repo-deb-build-0002.deb
  • sudo dpkg -i repo-deb-build-0002.deb
  • sudo apt-get update
  • sudo apt-get install sbt

И все готово!

Ответ 3

Не найдена команда sbt

Говорят, что sbt не на вашем пути. Попытайтесь запустить ./sbt из ~/bin/sbt/bin или где бы исполняемый файл sbt удостоверился, что он работает правильно. Также убедитесь, что у вас есть разрешения на выполнение для исполняемого файла sbt. Если это работает, добавьте ~/bin/sbt/bin к вашему пути и sbt должен запускаться из любого места.

Смотрите question о добавлении каталога в свой путь.

Чтобы проверить правильный путь , используйте команду which в LINUX. Результат будет выглядеть примерно так:

$ which sbt
/usr/bin/sbt

Наконец, для проверки sbt выполняется попытка запустить sbt -help или аналогично. Результат с -help будет выглядеть примерно так:

$ sbt -help
Usage: sbt [options]

  -h | -help         print this message
  ...

Ответ 4

В качестве альтернативного подхода вы можете сохранить SBT Extras script в файл с именем sbt.sh и установить разрешение на выполнение. Затем добавьте этот файл на свой путь или просто поместите его в каталог ~/bin.

Бонус здесь заключается в том, что он будет загружать и использовать правильную версию SBT в зависимости от ваших свойств проекта. Это приятное удобство, если вы склонны компилировать проекты с открытым исходным кодом, которые вы извлекаете из GitHub и других.

Ответ 5

Я предполагаю, что каталог ~/bin/sbt/bin не находится в вашем PATH.

Чтобы выполнить программы или сценарии, находящиеся в текущем каталоге, вам нужно префикс команды с. /, как в:

./sbt

Это функция безопасности в Linux, поэтому для предотвращения переустановки системных команд (и других программ) вредоносной стороной выпадающий файл в вашем домашнем каталоге (например). Представьте себе script, называемый 'ls', который отправляет ваш файл /etc/passwd третьей стороне перед выполнением команды ls... Или тот, который выполняет 'rm -rf.'...

Тем не менее, если вам не нужен что-то конкретное из самого последнего исходного кода, вам лучше всего сделать то, что парадигматика сказала в его посте, и установить его из репозитория Typesafe.