[.NET] Apple M1 .NET Core 설치 과정

2021. 12. 24. 22:07TIL💡/Trial And Error

.NET Core은 마이크로소프트의 오픈소스로서 기본적으로 윈도우에서 최적화되어 돌아가지만, Mac에서도 설치하여 사용가능하다.

윈도우 버전에 비해 성능은 떨어지지만 Mac을 위해 Visual Studio for Mac도 존재한다.

하지만 그것마저도 기존의 인텔 칩 위주이다보니 도큐먼트에는 아직 M1에 대한 설명이 부족해서 설치과정에서 여러모로 험난했다.

어려워도 회사 퇴근 이후에 개인적으로 프로젝트를 하기 위해서는 필수적으로 .NET Core 개발을 진행해야했기 때문에 열심히 시도한 결과 해냈다! 사실 별 거 없지만 또 다시 이렇게 고민하면 시간이 너무 아까워서 정리한다.

 

해결 요약

1. Homebrew에 이미 설치하지 않았나 생각을 해본다.
만약 기억이 나지 않는다면 homebrew --list로 homebrew를 통해 dotnet 설치 여부 확인한다.
만약 hombrew와 수동 설치를 모두 수행했으면 수동설치한 경로를 zsh는 인식하지 못한다.

2. 환경변수인 DOTNET_ROOT를 설정했는지 확인한다.
SDK와 런타임 파일을 인식할 수 있도록 DOTNET_ROOT를 dotnet 실행파일이 있는 '폴더'로 설정해야 한다.

ex) export DOTNET_ROOT="/usr/local/share/dotnet/x64"

마찬가지로 Visual Studio의 설정에서도 별도의 경로를 설정하면 알아서 SDK와 런타임 환경을 인식한다.

만약 .NET의 버전의 차이가 심하지 않다면 그냥 하나의 버전만 설치해서 사용하면 되는데, .NET은 그렇지 않다.. 그래서 프로젝트의 개발환경인 .NET Core 3.1을 반드시 설치해야만 했다.

그래서 가장 큰 문제점은 무엇보다도 여러 개의 SDK를 설치해도, 자꾸만 .NET Core 5.0만 인식되는 게 이상했는데 알고보니 충돌한 것이었다.

알고보니 노트북을 산 지 얼마 안 됐을 때 Homebrew로 설치를 했던 것을 망각했었다! 이를 떠올린 후 homebrew에서 dotnet을 삭제하고, 수동 설치한 SDK를 설정하니 정상 작동하였다. 그것도 여러 버전의 .NET을 설치할 수 있었다.

평소에는 Homebrew로 패키지를 관리하면 편리하나 특수하게 Mac에서 .NET같이 제약사항이 많은 경우에는 별도로 수동적으로 관리하는 것이 편하다고 느낀다.

 

이렇게 하루에 걸쳐 고민한 결과 .NET의 기초적인 부분을 이해할 수 있어서 나름 뜻깊었다.