使用brew的Macos上的.Net Core的多个版本

使用brew的Macos上的.Net Core的多个版本,macos,.net-core,homebrew,Macos,.net Core,Homebrew,我已经搜索了一段时间,但我在2019年还没有找到任何关于如何在Mac上从.Net Core获得多个版本的准确信息。我的使用案例是,我使用.NETCore2.2进行积极的开发,我想使用.NETCore3以及它现在的优点,比如剃须刀组件和Blazor之类的东西 我找到了一些关于.Net Core多版本如何在Windows上的同一系统上运行的文章,这太棒了。但是,Mac不是Windows(幸运的是,不幸的是),我想使用brew作为包管理器,而不是我来管理版本。如果可能的话,我不想离开brew专区 我还

我已经搜索了一段时间,但我在2019年还没有找到任何关于如何在Mac上从.Net Core获得多个版本的准确信息。我的使用案例是,我使用.NETCore2.2进行积极的开发,我想使用.NETCore3以及它现在的优点,比如剃须刀组件和Blazor之类的东西

我找到了一些关于.Net Core多版本如何在Windows上的同一系统上运行的文章,这太棒了。但是,Mac不是Windows(幸运的是,不幸的是),我想使用brew作为包管理器,而不是我来管理版本。如果可能的话,我不想离开brew专区

我还没有找到有关brew如何帮助我的信息,而是它抛出了一条错误消息,说它将覆盖dotnet命令

mbp2017 ➜  ~ brew search dotnet
==> Casks
dotnet                                      dotnet-preview                              dotnet-sdk ✔                                dotnet-sdk-preview
mbp2017 ➜  ~ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.105
 Commit:    7cecb35b92

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.14
 OS Platform: Darwin
 RID:         osx.10.14-x64
 Base Path:   /usr/local/share/dotnet/sdk/2.2.105/

Host (useful for support):
  Version: 2.2.3
  Commit:  6b8ad509b6

.NET Core SDKs installed:
  2.2.105 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
mbp2017 ➜  ~ brew cask install dotnet-sdk-preview
Error: Cask 'dotnet-sdk-preview' conflicts with 'dotnet-sdk'.
➜  ~ dotnet --list-sdks
2.2.105 [/usr/local/share/dotnet/sdk]
我找到了一些关于DNVM的文章,但后来发现它是关于.NETCore1.x的,从那以后似乎就不可用了


如何从.Net Core(例如使用brew)获得多个版本?如果brew不能做到这一点,那么建议的方法是什么?

似乎brew无能为力,或者至少我还没有找到解决方案。然而,仅仅从.Net核心网站下载和安装软件包就可以解决这个问题。安装两个版本SDK时,您将同时拥有这两个版本

➜  ~ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview3-010431
 Commit:    d72abce213

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.14
 OS Platform: Darwin
 RID:         osx.10.14-x64
 Base Path:   /usr/local/share/dotnet/sdk/3.0.100-preview3-010431/

Host (useful for support):
  Version: 3.0.0-preview3-27503-5
  Commit:  3844df9537

.NET Core SDKs installed:
  2.2.105 [/usr/local/share/dotnet/sdk]
  3.0.100-preview3-010431 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview3-19153-02 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview3-27503-5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

如果有一个cask可用于dotnet core 3预览,您可以使用以下命令安装最新的预览

$ brew cask install dotnet-sdk-preview
安装后,您可以看到

$ dotnet --info 

dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview5-011568
 Commit:    b487ff10aa

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.14
 OS Platform: Darwin
 RID:         osx.10.14-x64
 Base Path:   /usr/local/share/dotnet/sdk/3.0.100-preview5-011568/

Host (useful for support):
  Version: 3.0.0-preview5-27626-15
  Commit:  61f30f5a23

.NET Core SDKs installed:
  2.1.403 [/usr/local/share/dotnet/sdk]
  2.2.101 [/usr/local/share/dotnet/sdk]
  2.2.102 [/usr/local/share/dotnet/sdk]
  3.0.100-preview5-011568 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview5-19227-01 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview5-27626-15 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

派对有点晚了,但现在您可以使用
dotnetsdk版本
tap执行此操作

你可以在这里找到它:

免责声明:我两天前写了这个tap

这对我很有用:

brew cask install \
  https://raw.githubusercontent.com/Homebrew/homebrew-cask/master/Casks/dotnet-sdk.rb

安装多个版本应该不会有任何问题。尝试安装.NETCore3,然后运行
dotnet--listSDK
(或者类似的,使用
dotnet
查找)。如果您没有同时看到3和2.2,您应该能够卸载3当“[brew]抛出一条错误消息说它将覆盖dotnet命令时,确切的消息是什么?”@LexLi我读了那篇文章,它是Win特定的,正如我提到的Macos package manager失败。我不知道package manager不能或不会为我做包管理,或者我必须自己做。@Camiloterevento我更新了我的问题,它已经包含了这些细节。看起来很有希望,但运行
brew cask install dotnet-sdk-2.2.400
返回“cask”dotnet-sdk-2.2.400“与”dotnet sdk“冲突”对我来说是个错误,这是意料之中的。官方木桶提供的最新版本与我的木桶的相应版本将发生冲突。例如,您不能在同一台计算机上安装2.2.402的两个副本。但是,您可以安装任何其他版本,而不会产生冲突。啊,您是对的。我刚刚检查了官方的木桶,我发现如果你的操作系统是>sierra,他们也在官方木桶中添加了3.0.100。。。我需要用所有的新东西更新水龙头。谢谢你的夸奖!小更新。我收到了这个错误“错误:调用brew cask安装被禁用!请改用brew安装[--cask]”…但正如它所说的,这是有效的:“brew安装--cask dotnet-sdk3-1-400”谢谢!!!
brew cask install \
  https://raw.githubusercontent.com/Homebrew/homebrew-cask/master/Casks/dotnet-sdk.rb