Jak skompilować F # w dowolnej wersji na komputerze Mac?

Jan 04 2021

(Jestem świadomy istniejącego pytania o przepełnienie stosu Jak używać F # 4.7 na Macu ?, które jest bardzo podobne, ale nie identyczne i nie ma jeszcze rozwiązania)

Na moim komputerze Mac (Catalina 10.15.7) zainstalowałem .NET core za pomocą tego linku bez żadnych problemów.

Komenda

dotnet --help

poprawnie zwraca pomoc.

Podczas próby zainicjowania nowego projektu kończy się niepowodzeniem:

$ 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.

Jak więc rozpocząć projekt lub uruchomić plik F # na komputerze Mac? Czy istnieje aktualny wpis na blogu zawierający samouczek dotyczący instalowania kompilatora F #?

----- EDYTOWAĆ -----

Polecenie dotnet newzwraca:

$ 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

Odpowiedzi

3 PanagiotisKanavos Jan 04 2021 at 21:21

Uważaj na formatowanie podczas kopiowania z witryn internetowych

Myślnik w pytaniu –langnie jest znakiem minus -, jest to półpauza . Podejrzewam, że skopiowałeś polecenie ze strony internetowej, która zamieniła znak minus na półpauzę. Jest to podobne do witryn zastępujących "lub 'zawierających cytaty typograficzne.

Wpisz polecenie bezpośrednio, zamiast je wklejać.

Oryginalna odpowiedź

newnie ma --langopcji. Spróbuj -langlub --languagedo listy wszystkich dostępnych szablonów dla języka. Aby określić f#typ, na f#przykład:

> 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