如何在ubuntu上编译此代码?

如何在ubuntu上编译此代码?,ubuntu,f#,Ubuntu,F#,这可能是一个简单的问题,但我把它作为一个问题发布,因为我无法理解它。stackoverflow上可能有一个复制品,但我找不到。我正在用visual studio代码在ubuntu上编写代码 这是我的test.fs文件的内容: open System (*print*) let main() = Console.WriteLine("hello") main() 我想在终端上编译它。我知道编译器就在那里,因为我可以从它运行交互式F#session。我得到每一行的这个错误(4) 这

这可能是一个简单的问题,但我把它作为一个问题发布,因为我无法理解它。stackoverflow上可能有一个复制品,但我找不到。我正在用visual studio代码在ubuntu上编写代码

这是我的test.fs文件的内容:

open System 
(*print*)

let main() = 
    Console.WriteLine("hello")

main()
我想在终端上编译它。我知道编译器就在那里,因为我可以从它运行交互式F#session。我得到每一行的这个错误(4)

这让我相信这是一个名称空间/包问题,我认为这是F#中的一个模块。但是,我发现()是这样的:“代码文件不是以顶级模块声明或命名空间声明开头的,文件的全部内容,包括任何本地模块,都成为隐式创建的顶级模块的一部分,该模块与文件同名,没有扩展名,第一个字母转换为大写。”

因此,不必将其声明为模块。然而,我也尝试过,但没有成功

有人能帮我找出错误的原因吗


还可以进一步帮助我如何正确编译此文件?

您似乎调用了scala编译器,该编译器在fsharp之前被称为
fsc
——请参见此处的示例,了解有关该错误消息的问题,该错误消息不是来自F#编译器的错误消息


在linux上,F#编译器在许多发行版上被称为
fsharpc
,以避免此问题。

如果您在这里没有得到帮助;你也可以试试askubuntu。有趣的是:你知道你可以在Windows10上用UbuntuBash做F#(使用mono)而不用虚拟机吗。请参阅:。
error: expected class or object definition