Jak zainstalować Scala na Mac OS X z MacPorts?

0

Próbuję zainstalować Scalę zgodnie z porady na oficjalnej stronie internetowej :

sudo port install scala

Ale to daje mi:

--->  Fetching archive for scala
--->  Attempting to fetch scala-2.7.7_2.darwin_10.x86_64.tbz2 from http://packages.macports.org/scala
--->  Fetching scala
--->  Verifying checksum(s) for scala
--->  Extracting scala
--->  Configuring scala
Error: Please use one of the numbered scala* ports instead.
Error: Target org.macports.configure returned: obsolete port
Log for scala is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_scala/scala/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Jestem całkowicie nowy zarówno w MacPorts, jak iw Scali i nie wiem, co oznacza „Proszę użyć jednego z ponumerowanych portów scala *”. Jakiego polecenia powinienem użyć?

Nie jestem zbyt wybredna jeśli chodzi o wersję Scali, ale oczywiście wolałbym najnowszą stabilną wersję (obecnie 2.9.1).

NB: Wiem, że mogę zainstalować Scalę bez MacPorts, ale wolę używać Macportów do zarządzania instalacją, jeśli jest to możliwe bez większych kłopotów.

Jonik
źródło
Aktualizacja (2015), tylko dla nagrania: obecnie wolę Homebrew za instalację Scali (i innych rzeczy) na OS X: brew install scala
Jonik

Odpowiedzi:

1

Teraz scala29 jest przestarzały. Musisz zainstalować scala 2.9 lub scala2.10:

sudo port install scala2.9
John Tang Boyland
źródło
2
Witamy w Ask Different! Zawsze możesz poprawić istniejące posty, edytując je. Nie ma potrzeby zamieszczania kolejnej odpowiedzi dla każdej nowej wersji lub zmiany wersji.
slhck
1

Plik konfiguracyjny SBT twojego projektu może być użyty do pobrania najnowszej wersji Scala - dla projektu. Oczywiście wymaga to trochę więcej czasu na każdy projekt, który ustawiłeś, w porównaniu z zainstalowaniem najnowszej wersji Scali. Zaletą jest to, że repozytoria SBT są zawsze na bieżąco z wydaniami Scala, w przeciwieństwie do Macports.

Peter Becich
źródło
1

Pierwszą rzeczą, którą musisz zrobić, to znaleźć najnowszą dostępną wersję scala. Pomaga ostatnio zaktualizować drzewo macports:

sudo port selfupdate

Kiedy to się skończy, grep dla portów związanych ze skalą:

port list | grep scala

W chwili pisania tego tekstu jest to przykładowe wyjście z tego:

$ port list | grep scala
scala-migrations               @1.0.1          java/scala-migrations
scala2.10                      @2.10.5         lang/scala2.10
scala2.10-docs                 @2.10.5         lang/scala2.10
scala2.11                      @2.11.7         lang/scala2.11
scala2.11-docs                 @2.11.7         lang/scala2.11
scala2.7                       @2.7.7          lang/scala2.7
scala2.8                       @2.8.2          lang/scala2.8
scala2.9                       @2.9.3          lang/scala2.9
scala210                       @0.0.2.10.0-M4  lang/scala210
scala27                        @2.7.7          lang/scala27
scala28                        @2.8.2          lang/scala28
scala29                        @2.9.2          lang/scala29
scalapack                      @2.0.2          math/scalapack
p5.8-scalar-list-utils         @1.410.0        perl/p5-graveyard
p5.10-scalar-list-utils        @1.410.0        perl/p5-graveyard
p5.12-scalar-list-utils        @1.410.0        perl/p5-graveyard
p5.14-scalar-list-utils        @1.410.0        perl/p5-graveyard
p5.8-set-scalar                @1.260.0        perl/p5-graveyard
p5.10-set-scalar               @1.260.0        perl/p5-graveyard
p5.12-set-scalar               @1.260.0        perl/p5-graveyard
p5.14-set-scalar               @1.260.0        perl/p5-graveyard
p5-scalar-list-utils           @1.420.0        perl/p5-scalar-list-utils
p5.16-scalar-list-utils        @1.420.0        perl/p5-scalar-list-utils
p5.18-scalar-list-utils        @1.420.0        perl/p5-scalar-list-utils
p5.20-scalar-list-utils        @1.420.0        perl/p5-scalar-list-utils
p5.22-scalar-list-utils        @1.420.0        perl/p5-scalar-list-utils
p5-scalar-string               @0.2.0          perl/p5-scalar-string
p5.16-scalar-string            @0.2.0          perl/p5-scalar-string
p5.18-scalar-string            @0.2.0          perl/p5-scalar-string
p5.20-scalar-string            @0.2.0          perl/p5-scalar-string
p5.22-scalar-string            @0.2.0          perl/p5-scalar-string
p5-set-scalar                  @1.290.0        perl/p5-set-scalar
p5.16-set-scalar               @1.290.0        perl/p5-set-scalar
p5.18-set-scalar               @1.290.0        perl/p5-set-scalar
p5.20-set-scalar               @1.290.0        perl/p5-set-scalar
p5.22-set-scalar               @1.290.0        perl/p5-set-scalar
scala_select                   @0.1            sysutils/scala_select

Chcesz szukać podstawowego pakietu scala z najnowszym (tj. Największym) numerem wersji. W tym przypadku scala2.11. Możesz także spójrz tutaj , ale lista jest nieco trudniejsza do strawienia. Po wybraniu pakietu zainstaluj go w następujący sposób:

sudo port install scala2.11

Po uruchomieniu możesz potwierdzić, że został zainstalowany z tym:

ls -la /opt/local/bin/ | grep scala

Na przykład:

$ ls -la /opt/local/bin/ | grep scala
lrwxr-xr-x   1 root admin     27 Nov 17 10:54 fsc-2.11 -> ../share/scala-2.11/bin/fsc
lrwxr-xr-x   1 root admin     29 Nov 17 10:54 scala-2.11 -> ../share/scala-2.11/bin/scala
lrwxr-xr-x   1 root admin     30 Nov 17 10:54 scalac-2.11 -> ../share/scala-2.11/bin/scalac
lrwxr-xr-x   1 root admin     32 Nov 17 10:54 scaladoc-2.11 -> ../share/scala-2.11/bin/scaladoc
lrwxr-xr-x   1 root admin     30 Nov 17 10:54 scalap-2.11 -> ../share/scala-2.11/bin/scalap

Teraz jesteś tam najbardziej. Ostatnią rzeczą, którą chcesz zrobić, jest select aktualna wersja scala. Obecnie nie wybrano żadnej wersji i możesz to pokazać za pomocą następującego polecenia:

$ sudo port select --list scala
Available versions for scala:
    none (active)
    scala2.11

To mówi tak scala2.11 jest zainstalowany, ale nie wybrano żadnej wersji. Aby wybrać wersję, uruchom to (choć chcesz zastąpić wersję, którą faktycznie zainstalowałeś):

$ sudo port select --set scala scala2.11
Selecting 'scala2.11' for 'scala' succeeded. 'scala2.11' is now active.

I pokazując, że jest teraz wybrany:

$ sudo port select --list scala
Available versions for scala:
    none
    scala2.11 (active)
$ which scala
/opt/local/bin/scala
Nathaniel Ford
źródło