본문 바로가기

withM1MacbookAir

Dart SDK support for macOS arm64 (Apple Silicon)

반응형

MBP M1 Max 에서 간만에 Flutter 세팅을 하였다..

기본적으로 빠르니 특별히 신경은 안쓰고 있는데  Flutter  관련 프로세스가 모두 Apple ( intel/Apple)로 잘 돌겠지 하고 봤더니

dart가 intel로 돌고 있었다. 윽!! 뭐가 문제인가.. 봤더니 

 

% dart --version

Dart SDK version: 2.16.1 (stable) (Tue Feb 8 12:02:33 2022 +0100) on "macos_x64"

 

%flutter --version

Flutter 2.10.3 • channel stable • https://github.com/flutter/flutter.git

Framework • revision 7e9793dee1 (5 days ago) • 2022-03-02 11:23:12 -0600

Engine • revision bd539267b4

Tools • Dart 2.16.1 • DevTools 2.9.2

 

당연히 Apple Silicon 지원을 기대 했것만.. 끄응

 

https://stackoverflow.com/questions/69274086/how-to-replace-the-bundled-dart-sdk-in-flutter-to-run-natively-on-apple-silicon 

 

위 링크를 찾아서 쉽게 해결하였다 약간 아주 약간은 복잡했지만 내용은 단순 했음..  새로운 스냅샷으로 엎어쓰기 정도?

 

https://dart.dev/get-dart/archive  <--- 여기에서 본인에게 맞는 플랫폼과 버전을 세팅해주시면 됩니다. 참고로 저는   https://storage.googleapis.com/dart-archive/channels/stable/release/2.16.1/sdk/dartsdk-macos-arm64-release.zip

 

다운로드 받고 압축을 풀면 dart-sdk 디렉토리가 생기는데  이것을 설치된 flutter 디렉토리에 있는 bin/cache 아래 dart-sdk에 덮어써주세요 (여기를 선행 해 줘야 신선한 dart-sdk가 됩니다.) 

 

물론 이정도로 간단한건 아닙니다. 이 상태에서 flutter run -v 를 실행해서 테스트 해 보면 에러가 발생합니다. 

 

https://stackoverflow.com/questions/69274086/how-to-replace-the-bundled-dart-sdk-in-flutter-to-run-natively-on-apple-silicon 

 

How to replace the bundled Dart SDK in Flutter to run natively on Apple Silicon (ARM64)?

Dart SDK officially supports ARM64 and as of now, 2.14.2 is the latest (stable) Dart SDK that has support for ARM64. Though it was the same version that was bundled in my Flutter setup, it seemed t...

stackoverflow.com

여기에서 답을 찾았는데.. 

일단 아직도 x64의 스냇샷을 참조하기 때문에 x64의 frontend_server.dart.snapshot  파일을 덮어써주는 것 입니다.  

flutter/bin/cache/dart-sdk/bin/snapshots <-- 여기 있는 신선한  frontend_server.dart.snapshot   파일을

flutter/bin/cache/artifacts/engine/darwin-x64 여기로 있는  frontend_server.dart.snapshot  파일에 덮어써주세요. 

 

자 이렇게 복사하고 관련 프로그램들 재시작 하고 다시 flutter app을 실행하였더니~

Apple Silicon으로 실행하는 dart

아주 어려운건 아니지만 ㅋㅋ 좀 귀찮은 하지만 M1쟁이라면 해야만 하는.. 그런 세팅이였습니다.  

반응형