web-dev-qa-db-fra.com

Installez sbt sur Ubuntu

J'ai installé sbt sur Ubuntu.

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

Cependant, chaque fois que j'essaie de lancer sbt (à partir du même répertoire que sbt), cela ne fonctionne pas:

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)

Je suis nouveau sur Linux et je ne sais pas comment aborder ce problème.

58
NoIdeaHowToFixThis

Il semble que vous ayez installé une version Zip de sbt, ce qui est bien. Mais je vous suggère d’installer le paquet Debian natif si vous êtes sur Ubuntu. C'est ainsi que j'ai réussi à l'installer sur mon Ubuntu 12.04. Découvrez-le ici: http://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html Ou simplement le télécharger directement à partir de ici =.

40
Liang Zhou

Le moyen le plus simple d'installer SBT sur ubuntu est le paquetage deb fourni par Typesafe.

Exécutez les commandes Shell suivantes:

  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

Et tu as fini !

160
paradigmatic

Aucune commande sbt trouvée

Cela signifie que sbt n'est pas sur votre chemin. Essayez de courir ./sbt de ~/bin/sbt/bin ou partout où l'exécutable sbt doit vérifier qu'il fonctionne correctement. Vérifiez également que vous disposez des autorisations d'exécution sur l'exécutable sbt. Si cela fonctionne, ajoutez ~/bin/sbt/bin sur votre chemin et sbt devrait courir de n’importe où.

Voir cette question sur l'ajout d'un répertoire à votre chemin.

Pour vérifier le le chemin est correctement défini , utilisez la commande which sur LINUX. La sortie ressemblera à ceci:

$ which sbt
/usr/bin/sbt

Enfin, pour vérifier sbt fonctionne, essayez de lancer sbt -help ou pareillement. La sortie avec -help ressemblera à ceci:

$ sbt -help
Usage: sbt [options]

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

En guise d’approche alternative, vous pouvez enregistrer le script SBT Extras dans un fichier appelé sbt.sh et définir l’autorisation sur exécutable. Ajoutez ensuite ce fichier à votre chemin ou mettez-le simplement dans votre répertoire ~/bin.

L'avantage ici est qu'il téléchargera et utilisera la version correcte de SBT en fonction des propriétés de votre projet. C’est très pratique si vous avez tendance à compiler des projets open source que vous extrayez de GitHub et d’autres.

4
Jack

Je suppose que le répertoire ~/bin/sbt/bin ne se trouve pas dans votre PATH.

Pour exécuter des programmes ou des scripts situés dans le répertoire en cours, vous devez préfixer la commande avec ./, comme dans:

./sbt

Ceci est une fonctionnalité de sécurité sous Linux, afin d'éviter d'empêcher le redéploiement de commandes système (et d'autres programmes) par une partie malveillante lors de la suppression d'un fichier dans votre répertoire personnel (par exemple). Imaginez un script appelé 'ls' qui envoie votre fichier/etc/passwd à une tierce partie avant d'exécuter la commande ls ... Ou un script exécutant 'rm -rf.' ...

Cela dit, à moins que vous n'ayez besoin de quelque chose de spécifique à partir du dernier code source, vous feriez mieux de faire ce que paradigmatique a dit dans son message et de l'installer à partir du référentiel Typesafe.

3
Barney Govan