【问题标题】:Multiple versions of .Net Core on Macos with brew带有 brew 的 Macos 上的多个版本的 .Net Core
【发布时间】:2019-03-27 22:11:45
【问题描述】:

我已经搜索了一段时间,但在 2019 年我没有找到任何关于如何在 Mac 上从 .Net Core 获得多个版本的准确信息。我的用例是,我使用 .Net Core 2.2 进行主动开发,我想使用 .Net Core 3 以及它现在拥有的优点,比如 Razor Components 和 Blazor 的东西。

我发现了有关 .Net Core 多个版本如何在 Windows 上的同一系统上运行的文章,这太棒了。但是,Mac 不是 Windows(幸运的是,不幸的是),我想使用 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 的文章,但结果发现它是 .Net Core 1.x 周围的东西,从那时起似乎无法使用。

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

【问题讨论】:

  • 安装多个版本应该没有任何问题。尝试安装 .NET Core 3,然后运行 ​​dotnet --list-sdk(或类似的东西,使用 dotnet 查找)。如果你没有看到 3 和 2.2,你应该可以卸载 3
  • 当“[brew] 抛出一条错误消息说它将覆盖 dotnet 命令。”时的确切消息是什么?
  • @LexLi 我读过那篇文章,它是特定于 Win 的,正如我提到的,Macos 包管理器失败了。我不知道包管理器不能或不会为我做包管理,或者我必须自己做。
  • @CamiloTerevinto 我更新了我的问题,它已经包含了这些细节。

标签: macos .net-core homebrew


【解决方案1】:

聚会有点晚了,但您现在可以点击dotnet-sdk-versions 进行此操作。

你可以在这里找到它:https://github.com/isen-ng/homebrew-dotnet-sdk-versions

brew tap isen-ng/dotnet-sdk-versions
brew install --cask dotnet-sdk2-2-100

dotnet --list-sdks

免责声明:我在两天前写了水龙头

【讨论】:

  • 看起来很有希望,但运行 brew cask install dotnet-sdk-2.2.400 会为我返回“Cask 'dotnet-sdk-2.2.400' 与 'dotnet-sdk' 冲突”错误。
  • 这是意料之中的。官方cask提供的最新版本和我的cask对应版本会冲突。例如。您不能在同一台机器上安装 2.2.402 的 2 个副本。
  • 但是,您可以安装任何其他版本而不会发生冲突。
  • 啊,你是对的。我刚刚检查了官方酒桶,我发现他们已经向官方添加了 3.0.100 以及 IFF 你的操作系统是 > sierra ...我需要用所有新东西更新水龙头。谢谢夸奖!
  • 小更新。我收到此错误“错误:调用 brew cask install 已禁用!改用 brew install [--cask]”......但正如它所说,这有效:“brew install --cask dotnet-sdk3-1-400”谢谢伊森!!!
【解决方案2】:

似乎 brew 无能为力,或者至少,我还没有找到解决方案。但是,只需从 .Net Core 网站下载和安装软件包即可解决问题。安装两个版本的 SDKS,你将拥有两者。

➜  ~ 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

【讨论】:

    【解决方案3】:

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

    $ 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
    

    【讨论】:

      【解决方案4】:

      这对我有用:

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

      【讨论】:

        猜你喜欢
        • 2021-11-29
        • 2023-03-14
        • 2021-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-27
        相关资源
        最近更新 更多