Option 1: Install from your Linux distribution’s package manager

当用作.NET语言时,F#需要.NET运行时. 在Linux上,此运行时为Mono.NET Core . 大多数Linux发行版在其存储库中都包含Mono版本. 但是,这些版本通常很旧. 因此, 强烈建议您将官方的Mono软件包存储库添加到软件包管理器中,如下所述. 如果需要,这使获取更新或卸载变得容易.

安装后,请参阅安装智能编辑器和《 Linux和跨平台开发指南》 .

请注意,Mono运行时可用于多种CPU体系结构,而不仅仅是x86和ARM. 所有这些都支持F#.


Ubuntu/Mint

  1. 将mono存储库添加到您的包管理器中,如此处所述 .

  2. 安装fsharp软件包,如果需要,它将fsharp Mono的更新版本.

     sudo apt-get update
     sudo apt-get install fsharp
    

这将安装F#编译器fsharpc和F#交互式fsharpi .


Debian

  1. 将mono存储库添加到您的包管理器中,如此处所述 .

  2. 安装fsharp软件包,如果需要,它将fsharp Mono的更新版本.

     sudo apt-get update
     sudo apt-get install fsharp
    

这将安装F#编译器fsharpc和F#交互式fsharpi . 请注意, Debian软件包的更新趋势通常不如上述软件包.


CentOS/RHEL/Amazon/Fedora

  1. 将mono存储库添加到您的包管理器中,如此处所述
  2. Follow these instructions.

  3. 然后安装软件包mono-completefsharp .

     sudo yum update
     sudo yum install mono-complete fsharp
    

这将安装F#编译器fsharpc和F#交互式fsharpi .


Gentoo/Sabayon/Funtoo/Calculate

从portage树:

   emerge fsharp

另外,也可以在各种.NET程序的当前版本中使用叠加层,包括F#,FAKE,NuGet和其他程序.

  1. 从外行添加" dotnet"覆盖. (如果您需要进行设置,请在Gentoo网站上找到手册 .)

    layman -a dotnet 
    
  2. 现在您可以构建F#.

    emerge fsharp
    
  3. (可选)有emacs模式和monodevelop绑定,您可以通过在以下示例中设置use标志来选择所需的内容:

    USE="+emacs -monodevelop" emerge fsharpbinding
    



Option 2: Install from source

  1. 获取Mono,F#使用的跨平台,开源.NET运行时实现. 最好使用您的发行版或Xamarin中的软件包. 如果无法做到这一点, 请按照以下说明从源代码进行安装 .

    请注意,如果要安装到专用前缀,请遵循以下说明并确保LD_LIBRARY_PATH包含该前缀位置的" lib"目录,并且PKG_CONFIG_PATH包含该前缀位置的" lib / pkgconfig"目录,例如

     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/mono/lib/
     export PKG_CONFIG_PATH=/home/user/mono/lib/pkgconfig/
    
  2. 从源代码构建并安装F#编译器(开放版). 如果使用VM或其他受内存限制的系统,请注意编译期间的错误可能是由于内存不足(特别是错误137)引起的.

     sudo apt-get install autoconf libtool pkg-config make git automake
     git clone https://github.com/fsharp/fsharp
     cd fsharp
     make
     sudo make install
    

    如果要安装到其他前缀,请使用与上述Mono运行时相同的前缀.



Other options



Use a Vagrant VM on Windows

要在Windows的Linux VM上使用F#,请将F#与Vagrant一​​起使用 .


Slackware Slackbuild

  1. 从此页面http://slackbuilds.org/repository/14.1/development/mono/获取Mono Slackbuild并运行:

    ./mono.SlackBuild

  2. 从此页面http://slackbuilds.org/repository/14.1/development/fsharp/获取最后的FSharp Slackbuild并运行:

    ./fsharp.SlackBuild


Using Nix on any Linux distribution or Mac OS X

  1. 如果还没有Nix,请安装它:

     sudo mkdir /nix && sudo chown `id -u`.`id -g` /nix # create /nix
     sudo -k                                            # give up root privileges
     curl https://nixos.org/nix/install | bash          # install Nix
     . $HOME/.nix-profile/etc/profile.d/nix.sh          # update PATH accordingly
    
  2. 获取F#

     nix-env -iA nixpkgs.fsharp
    
  3. 你可能还喜欢…

     # List all the .NET packages that are readily available in the Nix
     # package collection:
     nix-instantiate --eval --expr 'with import <nixpkgs> {};
                                      lib.attrNames dotnetPackages' 
    
     # Download FSharp.Data in the Nix store and make it available in ./FSData
     nix-build '<nixpkgs>' -A dotnetPackages.FSharpData --out-link FSData
    

查找有关Nix软件包管理器NixOS (基于它的纯功能Linux发行版)的更多信息

Explore (and contribute to) the collection of .NET applications and libraries in the Nixpkgs GitHub repo


Highly recommended: Install a smart editor

与其他强类型语言一样,F#可以从支持该语言的编辑器中受益匪浅. 这样就可以在编辑时进行智能自动补全和编译,从而提高了功能的可发现性和总体上提高了程序员的工作效率.


Option 1: Visual Studio Code

商标 Visual Studio Code是一个免费的, 开源的 ,跨平台的源代码编辑器,支持多种语言 . F#受Ionide项目支持,并且是很好的集成.

  1. 安装适用于Linux的Visual Studio代码
  2. Ctrl+P并输入以下内容以安装VS Code的Ionide软件包.

     ext install Ionide-fsharp
    

您还需要从步骤1开始安装F#软件包.


Option 2: JetBrains Rider

商标 JetBrains Rider是使用IntelliJ和ReSharper技术构建的跨平台.NET IDE. 它支持所有平台上的.NET和.NET Core应用程序.

  1. 安装Linux版JetBrains Rider .
  2. Follow these instructions.
  3. 然后安装mono-completemsbuildfsharp .

     sudo apt-get update
     sudo apt-get install mono-complete msbuild fsharp
    
  4. (可选)安装最新的dotnet-dev-xyz .NET Core软件包

Get involved!

为了帮助改进本文档,您可以对此页面进行编辑 . 或者,要获得Linux软件包的帮助,请考虑加入F#Core Engineering Group .


by  ICOPY.SITE