首页 > 解决方案 > 带有 IntelliJ 的 sbt 1.4.4:提取结构失败

问题描述

尝试使用 IntelliJ 内置 sbt 编译器打开sbt1.4.0 或更高版本的项目时遇到一个相当奇怪的错误:

提取结构失败

对于配置为使用sbt1.3.x 或更低版本的项目,一切正常。在这个例子中,我试图打开ScalableTyped Demo项目。其他项目也同样如此。我将 IntelliJ 升级到 Community 2020.2 版本,将 Scala 插件升级到 2020.2.49 版本,但无济于事。

使用内置sbtshell 编译项目可以工作,所以这似乎是 IntelliJ 本身的问题。任何提示将不胜感激。

编辑2:

这似乎是导致错误的原因,但我已经安装了 yarn 并且可以在 cli 中使用它,所以这相当令人惊讶:

* Welcome to ScalablyTyped demos!
*
* For documentation see https://scalablytyped.org .
*
* Note that the first time you import/compile the projects it'll take a while for the dependencies to build
*
[info] set current project to demos-master (in build file:/C:/Users/baierlf/Downloads/Demos-master/Demos-master/)
[error] stack trace is suppressed; run 'last electron / externalNpm' for the full output
[error] stack trace is suppressed; run 'last electron / ssExtractDependencies' for the full output
[error] (electron / externalNpm) java.io.IOException: Cannot run program "yarn" (in directory "C:\Users\baierlf\Downloads\Demos-master\Demos-master\electron"): CreateProcess error=2, Das System kann     die angegebene Datei nicht finden
[error] (electron / ssExtractDependencies) java.io.IOException: Cannot run program "yarn" (in directory "C:\Users\baierlf\Downloads\Demos-master\Demos-master\electron"): CreateProcess error=2, Das     System kann die angegebene Datei nicht finden
[error] Total time: 3 s, completed 01.12.2020 15:42:43
[info] shutting down sbt server

翻译:

德语: Das System kann die angegebene Datei nicht finden

中文: 系统找不到文件

编辑3:

手动执行时,我可以运行 yarn 命令:

纱

标签: scalaintellij-ideasbt

解决方案


github 中有一个关于此的问题:java.io.IOException: Cannot run program "yarn"

那里的建议是将纱线添加到环境变量中的路径中。

如果这没有帮助,您可以尝试手动将路径设置为yarn 此处作为解决方法。万一将来有人读到这个,代码会改变,你应该改变内容所在的行:

Process("yarn", baseDirectory.value).!

推荐阅读