πŸ•Ž Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Scala Π½Π° RHEL 8 / CentOS 8

by itisgood

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Scala Π½Π° RHEL 8 / CentOS 8 ?.

Scala – это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для максимально сТатой ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Scala Programming основан Π½Π° Java ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ популярныС прилоТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Spark.

Если Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ синтаксис Java, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ Scala.

Установка Scala Π½Π° RHEL 8 / CentOS 8

Scala для RHEL / CentOS распространяСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° RPM.

Π’ΠΎΡ‚ нСсколько шагов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для установки Scala Π½Π° RHEL 8 / CentOS 8.

Π¨Π°Π³ 1: УстановитС Java

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ – это Java.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ RHEL 8 / CentOS 8 установлСна Java.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ установки срСды выполнСния Java с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ java -version
openjdk version "11-ea" 2018-09-25
OpenJDK Runtime Environment (build 11-ea+28)
OpenJDK 64-Bit Server VM (build 11-ea+28, mixed mode, sharing)

Π¨Π°Π³ 2: Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈ установитС Scala

ПослС установки Java ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Scala ΠΈ установитС Π΅Π³ΠΎ Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с RHEL 8.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Scale Π½Π° страницС Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ.

export VER="2.12.8"
wget https://downloads.lightbend.com/scala/$VER/scala-$VER.rpm

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ 2.12.8 Π½Π° послСдний, доступный Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ выпуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

УстановитС Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ dnf.

$ sudo dnf install scala-$VER.rpm
 Updating Subscription Management repositories.
 Updating Subscription Management repositories.
 Last metadata expiration check: 0:19:41 ago on Thu 14 Mar 2019 08:12:19 PM EAT.
 Dependencies resolved.
  Package                          Arch                              Version                              Repository                               Size
 Installing:
  scala                            noarch                            2.12.8-1                             @commandline                            124 M
 Transaction Summary
 Install  1 Package
 Total size: 124 M
 Installed size: 595 M
 Is this ok [y/N]: y
 Downloading Packages:
 Running transaction check
 Transaction check succeeded.
 Running transaction test
 Transaction test succeeded.
 Running transaction
   Preparing        :                                                                                                                               1/1 
 Installed: scala-2.12.8-1.noarch
   Running scriptlet: scala-2.12.8-1.noarch                                                                                                         1/1 
   Installing       : scala-2.12.8-1.noarch                                                                                                         1/1 
   Running scriptlet: scala-2.12.8-1.noarch                                                                                                         1/1 
 Installed: scala-2.12.8-1.noarch
   Verifying        : scala-2.12.8-1.noarch                                                                                                         1/1 
 Installed:
   scala-2.12.8-1.noarch                                                                                                                                
 Complete!

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ установку Scala, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² Π²Π΅Ρ€ΡΠΈΡŽ.

scala -version

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Β«Hello WorldΒ» Π² Scala.

$ scala
Welcome to Scala 2.12.8 (OpenJDK 64-Bit Server VM, Java 11-ea).
Type in expressions for evaluation. Or try :help.
scala> println("Hello Scala World")
Hello Scala World
scala> :q

:q ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Scala.

Запуск Scala Π² качСствС скрипта ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Scala ΠΊΠ°ΠΊ скрипт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Π½ΠΈΠΆΠ΅ ΠΊΠ°ΠΊ scala.sh.

 #!/bin/sh
  exec scala "$0" "$@"
  !#
  object HelloWorld {
    def main(args: Array[String]) {
      println("Hello, Scala World! " + args.toList)
    }
  }
  HelloWorld.main(args)

ЗапуститС скрипт, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

sh scala.sh

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΊΠΎΠ΄Π° Scala

Команда scalac ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для компиляции исходного Ρ„Π°ΠΉΠ»Π° Scala ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π½Π° любой стандартной JVM. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

$ cat HelloWorld.scala 
object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, world!")
  }
}

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ это.

$ scalac HelloWorld.scala

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ scalac создаСт Ρ„Π°ΠΉΠ»Ρ‹ классов Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ -d.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ scala для выполнСния сгСнСрированного Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°.

$ scala HelloWorld
Hello, world!

Π­Ρ‚ΠΎ всС. ΠΠ°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Scala Π½Π° RHEL 8 ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

 

Loading

You may also like

Leave a Comment