我在哪里可以在 IntelliJ 中输入 Homebrew Scala 路径 /usr/local/opt/scala/idea?

W.P*_*ill 3 homebrew scala intellij-idea sbt

当您使用 Homebrew 安装 Scala 时,您会被告知

To use with IntelliJ, set the Scala home to:
  /usr/local/opt/scala/idea
Run Code Online (Sandbox Code Playgroud)

这到底是什么意思?IntelliJ 中是否有全局设置,您可以在其中输入此路径?

具体来说,我很困惑,因为我试图在 IntelliJ 中创建 SBT 支持的项目。在 IntelliJ 中,我执行 New Project -> Scala:SBT 并让 IDE 为我创建一个默认项目。我得到一个看起来像这样的 build.sbt:

name := "HelloScala"

version := "1.0"
Run Code Online (Sandbox Code Playgroud)

这看起来是正确的。但是,依赖项是 Scala 2.10.2,而我的机器上最新的 Homebrew 安装的 Scala(如果我scala在命令行中输入就会被使用)是 2.11.0。我认为问题是我没有/usr/local/opt/scala/idea正确设置,但我没有看到 IntelliJ UI 中输入此路径信息的位置。具体来说,IntelliJ 首选项都没有“Scala 发行版路径”等文本框。

如何使用 IntelliJ 正确设置 Homebrew Scala?

IntelliJ 13.1.2,OS X 10.9.2

ste*_*ano 6

如果要使用已安装的 Scala 版本而不是 Intelij 的托管版本,请执行以下操作:

在 Intelij 中打开项目结构并编辑依赖项(在 Mac 上使用快捷方式:?+?)。

然后,当您要添加依赖项时,finder 不会显示诸如/usretc 之类的目录。解决方法是将此文件夹临时添加到 Finder 中的快捷方式侧边栏,如下所示:

打开一个终端并运行:open /usr/local/opt/scala/。这将打开一个查找器并显示idea目录。您可以将其拖动到快捷方式侧边栏。

现在回到 Intelij 并将目录添加到依赖项。我决定在全局设置(在左窗格中)下执行此操作。然后接下来我转到Project Settings > Modules并删除任何现有的 scala 源,然后单击 + 添加并选择"Library.."。在这里,您应该会在名为Global Library的部分下看到您添加的 scala 版本。

另请参阅https://www.jetbrains.com/help/idea/2016.3/working-with-scala-tests.html


joh*_*ren 5

您需要在 sbt 文件中设置 scalaVersion,否则 sbt 将使用其构建时使用的 scala 版本。

scalaVersion := "2.11.0"
Run Code Online (Sandbox Code Playgroud)

这将使 sbt 自动将 scala 2.11 jar 下载到你的 ivy 缓存中。然后,SBT 和 IDEA 都会使用它来编译和运行您的 scala 代码。

所以你实际上根本不需要用自制程序安装它,除非你希望能够在控制台中运行 scala repl/手动运行 scalac 等。

只有当您不使用 SBT 集成时,您才需要在 IDEA 中指出您的 scala 安装。