#macos #.net-core #homebrew
#macos #.net-core #homebrew
Вопрос:
Я некоторое время искал, но в 2019 году не нашел ничего точного о том, как я могу иметь несколько версий .Net Core на Mac. Мой вариант использования таков, что я использую .Net Core 2.2 для активной разработки, и я хотел бы поиграть с .Net Core 3 и теми качествами, которые у него есть сейчас, такими как компоненты Razor и 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, но оказалось, что это что-то вроде.Net Core 1.x, с тех пор кажется, что его нельзя использовать.
Как возможно иметь несколько версий из .Net Core, например, с помощью brew? Если brew не может этого сделать, то какой предлагаемый способ?
Комментарии:
1. Проблем с установкой нескольких версий возникнуть не должно. Попробуйте установить .NET Core 3, а затем запустите
dotnet --list-sdk
(или что-то подобное, используйтеdotnet
, чтобы узнать). Если вы не видите как 3, так и 2.2, вы должны иметь возможность просто удалить 32. Какое точное сообщение, когда «[brew] выдает сообщение об ошибке, в котором говорится, что он перезапишет команду dotnet».?
3. @LexLi Я прочитал эту статью, и она специфична для Win, и, как я уже упоминал, сбой диспетчера пакетов Macos. Я не знаю, менеджер пакетов не может или не будет выполнять управление пакетами за меня, или я должен сделать это сам.
4. @CamiloTerevinto Я обновил свой вопрос, он уже включает эти детали.
Ответ №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
Отказ от ответственности: я написал the tap 2 дня назад
Комментарии:
1. Выглядит многообещающе, но запуск
brew cask install dotnet-sdk-2.2.400
возвращает ошибку «Cask ‘dotnet-sdk-2.2.400’ конфликтует с ‘dotnet-sdk'» для меня.2. Это ожидаемо. Последняя версия, предоставленная официальным cask, и соответствующая версия my cask будут конфликтовать. Например. вы не можете установить 2 копии 2.2.402 на одном компьютере.
3. Однако вы можете установить любую другую версию без конфликтов.
4. Ах, ты прав. Я только что проверил официальные версии и обнаружил, что они добавили 3.0.100 в официальную версию, если ваша ОС> sierra … Мне нужно будет обновить tap всеми новыми материалами. Спасибо за комплименты!
5. Небольшое обновление. Я получил эту ошибку «Ошибка: вызов brew cask install отключен! Вместо этого используйте brew install [—cask]»… но, как говорится, это работает: «brew install —cask dotnet-sdk3-1-400» Спасибо Isen!!!
Ответ №2:
Кажется, brew не может помочь, или, по крайней мере, я не нашел решения. Однако простая загрузка и установка пакетов с веб-сайтов .Net Core решает проблему. Установив обе версии 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
Ответ №3:
Для предварительного просмотра 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
Ответ №4:
Шаг 1: Откройте терминал
Шаг 2: brew устанавливает dotnet
Примечание: Вы можете использовать определенную версию по ссылке ниже https://github.com/isen-ng/homebrew-dotnet-sdk-versions
Шаг 3: vi .zshrc
Шаг 4: путь экспорта=»/usr/local/share /dotnet:$ PATH».
Шаг 5: Нажмите клавишу Esc
Шаг 6: :wq клавиша Enter
Шаг 7: исходный код .zshrc
Шаг 8: dotnet —info [для проверки]
Ответ №5:
В качестве альтернативного решения для людей, пришедших сюда из Google, я предлагаю использовать asdf
version manager с их плагином dotnet, чтобы иметь несколько версий и легко переключаться между ними:
- Установить
asdf
:https://asdf-vm.com/guide/getting-started.html - Установите плагин dotnet:
asdf plugin-add dotnet-core https://github.com/emersonsoares/asdf-dotnet-core.git
- Установите все необходимые версии:
asdf install dotnet-core 6.0.403
asdf install dotnet-core 7.0.100
- Выберите одну из них в качестве глобальной, вы также можете выбрать другую версию в качестве локальной в папке вашего проекта:
asdf global dotnet-core 7.0.100
cd git/project
asdf local dotnet-core 6.0.403
- Проверьте это!
$ cd git/project
$ dotnet --version
6.0.403
$ cd ~
$ dotnet --version
7.0.100
Ознакомьтесь с полной инструкцией по установке на странице плагина (также подумайте о том, чтобы поставить ему звездочку!): https://github.com/emersonsoares/asdf-dotnet-core
Вы можете управлять версиями многих других инструментов разработки таким же образом с asdf
. Ознакомьтесь с их документами.
Ответ №6:
Это сработало для меня:
brew cask install
https://raw.githubusercontent.com/Homebrew/homebrew-cask/master/Casks/dotnet-sdk.rb