M1 Mac에서의 solana 개발 환경 세팅

최근에 M1맥북에서 솔라나 개발환경 셋팅 관련해서 애먹었는데,
다른 분들도 혹시나 비슷한 경험을 하신다면, 괜한 시간 낭비하지 마시라고 올립니다.
구글링해도 솔루션이 잘 안나오더라고요.

TL;DR

[M1 Mac에서의 solana 개발 환경 이슈]

dyld: Library not loaded: /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib
Referenced from: /Users/123/.local/share/solana/install/active_release/bin/solana-test-validator
Reason: image not found
zsh: abort solana-test-validator

test-solana-validator를 입력하면 위와 같은 에러가 뜬다.
https://github.com/solana-labs/example-helloworld/issues/200
위 깃헙을 포함하여, "solana-test-validator M1 mac openssl"으로 구글링을 하면
나와 같이 애먹고 있는 아주 많은 사람들이 깃헙과 스택 오버플로우에 질문을 올렸다.

다만 그 질문에 대한 답변 대부분은

[해결 방법]

거의 3~4시간동안 열심히 구글링한 결과 얻은 결과는 아래 Reference와 같다.
Reference의 두 페이지를 참고하여 진행하면 되는데 요약하자면 다음과 같다.
1. rust, homebrew, solana 설치된 것들 있으면 다 삭제한다.
2. rosetta 설치하고, 터미널을 로제타 환경으로 연다. (이왕이면 로제타 전용 터미널을 복제하면 좋다.)
3. rust를 다시 깐다.
4. -x86_64 (인텔 맥 환경) 커맨드를 사용하여 homebrew, coreutils, openSSL등을 재설치한다.
5. solana를 다시 깔고, 이것저것 설치를 다 한 후에, solana-test-validator를 돌려본다.

--faucet-sol argument ignored, ledger already exists
⠤ Initializing...
⠁ 00:00:10 | Processed Slot: 26 | Confirmed Slot: 25 | Finalized Slot: 0 | Full

세팅 완료!

[소감]

[참고]

처음 위와 같은 문제가 생겼을 때에는 ~/solana/validator/ 디렉토리의 solana-test-validator 실행파일을 직접 실행해서,
test-validator를 돌려 devnet에 컨트랙트를 deploy 시켰다.
다만 anchor를 통해 contract를 test해보긴 위해서는 결국 터미널에서 test-validator를 직접 실행할 수 있어야 하는 문제가 있기에 다 뜯어 고쳤다.

위와 같이 실행파일을 통해 test-validator를 돌릴 수 있었던 이유는,
아마도 rust cargo로 build되었기 때문에,
프로젝트 실행에 필요한 모든 것들을 다 넣어서 실행파일을 컴파일했기 때문에 실행환경과 상관 없이 돌아갔던 것이 아닐까 싶다.

[Reference]

https://dev.to/nickgarfield/how-to-install-solana-dev-tools-on-an-m1-mac-kfn
https://github.com/buildspace/buildspace-projects/blob/main/Solana_And_Web3/en/Section_2/Resources/m1_setup.md

--

--

Rustacean interested in Programming Languages.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store