¿Cómo compilar F # en cualquier versión en mac?

Jan 04 2021

(Soy consciente de la pregunta de desbordamiento de pila existente ¿Cómo usar F # 4.7 en Mac? Que es muy similar, pero no idéntica, y que aún no tiene solución)

En mi mac (catalina 10.15.7) instalé el núcleo .NET a través de este enlace sin problemas.

El comando

dotnet --help

devuelve correctamente la ayuda.

Al intentar inicializar un nuevo proyecto, falla con:

$ dotnet new –lang f# Getting ready... Couldn't find an installed template that matches the input, searching online for one that does... No templates found matching: '–lang'. $ dotnet new --lang "f#"
Invalid input switch:
  --lang
  f#
Run dotnet new --help for usage information.
See https://aka.ms/dotnet-install-templates to learn how to install additional template packs.

Entonces, ¿cómo comienzo un proyecto o ejecuto un archivo F # en mac? ¿Hay alguna publicación de blog actualizada que proporcione un tutorial para instalar un compilador de F #?

----- EDITAR -----

El comando dotnet newdevuelve:

$ dotnet new
Templates                                         Short Name          Language          Tags                  
--------------------------------------------      --------------      ------------      ----------------------
Console Application                               console             [C#], F#, VB      Common/Console        
Class library                                     classlib            [C#], F#, VB      Common/Library        
Worker Service                                    worker              [C#], F#          Common/Worker/Web     
Unit Test Project                                 mstest              [C#], F#, VB      Test/MSTest           
NUnit 3 Test Project                              nunit               [C#], F#, VB      Test/NUnit            
NUnit 3 Test Item                                 nunit-test          [C#], F#, VB      Test/NUnit            
xUnit Test Project                                xunit               [C#], F#, VB      Test/xUnit            
Razor Component                                   razorcomponent      [C#]              Web/ASP.NET           
Razor Page                                        page                [C#]              Web/ASP.NET           
MVC ViewImports                                   viewimports         [C#]              Web/ASP.NET           
MVC ViewStart                                     viewstart           [C#]              Web/ASP.NET           
Blazor Server App                                 blazorserver        [C#]              Web/Blazor            
Blazor WebAssembly App                            blazorwasm          [C#]              Web/Blazor/WebAssembly
ASP.NET Core Empty                                web                 [C#], F#          Web/Empty             
ASP.NET Core Web App (Model-View-Controller)      mvc                 [C#], F#          Web/MVC               
ASP.NET Core Web App                              webapp              [C#]              Web/MVC/Razor Pages   
ASP.NET Core with Angular                         angular             [C#]              Web/MVC/SPA           
ASP.NET Core with React.js                        react               [C#]              Web/MVC/SPA           
ASP.NET Core with React.js and Redux              reactredux          [C#]              Web/MVC/SPA           
Razor Class Library                               razorclasslib       [C#]              Web/Razor/Library     
ASP.NET Core Web API                              webapi              [C#], F#          Web/WebAPI            
ASP.NET Core gRPC Service                         grpc                [C#]              Web/gRPC              
dotnet gitignore file                             gitignore                             Config                
global.json file                                  globaljson                            Config                
NuGet Config                                      nugetconfig                           Config                
Dotnet local tool manifest file                   tool-manifest                         Config                
Web Config                                        webconfig                             Config                
Solution File                                     sln                                   Solution              
Protocol Buffer File                              proto                                 Web/gRPC              

Examples:
    dotnet new mvc --auth Individual
    dotnet new web 
    dotnet new --help
    dotnet new classlib --help

Respuestas

3 PanagiotisKanavos Jan 04 2021 at 21:21

Tenga cuidado con el formato al copiar desde sitios web

El guión en la pregunta –langno es el carácter menos -, es un guión . Sospecho que copió el comando de un sitio web que reemplazó el carácter menos con un guión. Esto es similar a los sitios que reemplazan "o 'con citas tipográficas.

Escriba el comando directamente en lugar de pegarlo.

Respuesta original

newno tiene --langopción. Tratar -lango --languagepara listar todas las plantillas disponibles para un idioma. Para especificar el f#tipo, f#por ejemplo:

> dotnet new -lang f#
These templates matched your input: language='f#'.

Templates                       Short Name      Language      Tags
--------------------------      ----------      --------      -----------------
Console Application             console         F#            Common/Console
Class library                   classlib        F#            Common/Library
Worker Service                  worker          F#            Common/Worker/Web
Unit Test Project               mstest          F#            Test/MSTest
NUnit 3 Test Project            nunit           F#            Test/NUnit
NUnit 3 Test Item               nunit-test      F#            Test/NUnit
xUnit Test Project              xunit           F#            Test/xUnit
ASP.NET Core Empty              web             F#            Web/Empty
ASP.NET Core Web App (M...      mvc             F#            Web/MVC
ASP.NET Core Web API            webapi          F#            Web/WebAPI