본문 바로가기
꿀팁

M1 OSError: [Errno 0] JVM DLL not found 에러 / JAVA_HOME 경로 설정 / libjli.dylib

by 앵유짱 2023. 9. 12.

한 이틀 삽질했나..

 

OSError: [Errno 0] JVM DLL not found: /Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/lib/libjli.dylib

OSError: [Errno 0] JVM DLL not found: /Library/Java/JavaVirtualMachines/jdk-18.jdk/Contents/Home/lib/libjli.dylib

OSError: [Errno 0] JVM DLL not found: /Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/Home/lib/libjli.dylib

 

뭘해도 이 에러가 떠서 고생하엿다

zulu 15버전을 깔아도, jdk 1.8을 깔아도, openjdk를 깔아도 다 안되었는데 원인은 다른곳에 ^_^..

 

원인은 내 맥북에 파이썬버전을 3.7로 셋팅하기 위해 macOS x86_64 패키지를 설치해놓은 상태였기 때문에, 어떤 JVM을 깔아도 호환이 안되던거엿다

나는 계속 arm64의 jvm을 깔고잇엇고 ^_^,.

아무튼 python 아키텍쳐와 jvm 아키텍쳐가 달라서 안되던 거엿음! (당연)

 

⬇️가장 도움이 되엇던 깃허브글 ⬇️

 

JVM DLL not found. Apple m1 · Issue #994 · jpype-project/jpype

I'm using Jaydebeapi to connect to Hive but it throws the below error. I tried with both JDK 8 and 15. OSError: [Errno 0] JVM DLL not found: /Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/H...

github.com

 

⬇️해결은 여기에 들어가서 버전에 맞는 jdk를 깔아준다⬇️

 

Azul Downloads

According to the Gartner report, “by 2025, more than 70% of Java applications will be deployed on third-party Java runtimes, up from 30% in 2019.”

www.azul.com

 

 

zulu 15버전이 안보이면 옆에 include older versions 토글 버튼을 누르면 된다

여기서 자신에게 맞는 아키텍쳐를 선택해서 깔면됨.. 난 x86 64bit를 설치하엿다

 

m1칩이라 arm으로 계속  깔법한데, python 아키텍쳐에 맞추어 선택하는것이 포인트

 

 

설치하고나서 환경변수를 설정해준다

 

먼저 터미널 창을 키고 zshrc 열어주기

% open ./.zshrc

 

그 후 열리는 zshrc에 아래 내용을 입력해준다

# JAVA PATH
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin:

그냥 이런식으로 맨아래에 path 복붙 후 커맨드+s로 저장

 

source 명령어로 적용시켜주기

% source ~/.zshrc

 

 

끝!!

 

 

 

출처: 본문