为什么sbt失败并显示“ Expected';'”?

问题描述

当我从learning-journey项目运行凿子设计示例时,我看到如下错误

    $ ./run-examples.sh SimpleALU
    ...
    [info] Set current project to chisel-tutorial (in build file:/home/fchen/work/learning-journey/)
    [error] Expected ';'
    [error] test:run-main examples.Launcher SimpleALU
    [error]                                          ^

有人知道可能出了什么问题吗?

解决方法

应该使用run-main而不是runMainrun-main已过时,几年前已从SBT中删除。

作为一个轻微的警告,repo有点过时了,当最新版本为3.3.2且即将设置3.4.0时,请使用Chisel 3.1.8。从技术上讲,3.1.8才使用一年,但是去年有了很大的发展。

,

tl; dr 编辑run-examples.sh改用sbt runMain


learning-journey/run-examples.sh如下所示:

#!/usr/bin/env bash
args=$@
sbt -v "test:run-main examples.Launcher $args"

基本上可以归结为执行run-main命令。在最新的sbt版本中不再可用。

$ sbt -V
sbt version in this project: 1.3.13
sbt script version: 1.3.13

$ sbt run-main whatever
...
[error] Expected ';'
[error] Not a valid command: run-main
[error] Not a valid project ID: run-main
[error] Expected ':'
[error] Not a valid key: run-main (similar: runMain,bgRunMain,fgRunMain)
[error] run-main
[error]         ^

那正是错误,对吗?