Yup 을 사용하는 과정 중에서 생긴 오류인 듯 하다.
버전이 바뀌면서 import주소가 바뀌었는데
...node_modules/@hookform/resolvers/package.js에서
그에 맞게 node_moudle파일들도 알아서 바뀌어야겠지만
안바뀐 것 같다.
그래서 경로를 수동으로 수정해주면 고칠 수 있다.
{}exports 안에
"./": "./",
"./yup/dist/yup": {
"browser": "./yup/dist/yup.js",
"umd": "./yup/dist/yup.js",
"import": "./yup/dist/yup.js",
"require": "./yup/dist/yup.js"
}
수정해줘야한다.
확인해보니 버전문제가 맞는 것 같은데 언제까지고 이렇게 하드코딩으로 수정해줄 수 없다.
그래서 node 버전을 다운그레이드 해야된다.
쉽게하는 방법을 소개하겠다
nvm(node version manager)가 필요하다.
nvm 설치
brew install nvm
이후
node --version
이렇게 하면 사용중인 node version이 나온다
nvm {원하는 버전}
이렇게 하면 원하는 node의 버전을 깔 수 있다.
나는 nvm 14로 깔았다.
설치 후 node --version을 꼭 확인하고
그래도 안된다면 현재 cli에서의 위치를 확인해서 알맞은 곳에 설치했는지 확인하는 것이 좋다
그래도 맞는 것 같다면 프로그램이나 컴퓨터를 껐다 켜보고, 재설치를 해보는 것을 권장한다.
번외로
nvm use{원하는버전}
이렇게도 있다
++++++
그리고 M1 최신맥북을 쓰는 사람은 이 방법으로 해결할 때
Then I tried to use nvm install 14.16.1 but got the error: curl: (22) The requested URL returned error: 404
이런 메세지가 뜨면서 무한히 메세지가 뜰것이다
Downloading and installing node v14.16.1...
Downloading https://nodejs.org/dist/v14.16.1/node-v14.16.1-darwin-arm64.tar.xz...
curl: (22) The requested URL returned error: 404 Binary download from https://nodejs.org/dist/v14.16.1/node-v14.16.1-darwin-arm64.tar.xz failed, trying source.
grep: /Users/ozgur/.nvm/.cache/bin/node-v14.16.1-darwin-arm64/node-v14.16.1-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: {NVM_DIR}/.cache/src/node-v14.16.1/node-v14.16.1.tar.xz Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/src/node-v14.16.1/node-v14.16.1.tar.xz>./configure --prefix=/Users/ozgur/.nvm/versions/node/v14.16.1 <
Node.js configure: Found Python 3.8.9...
INFO: configure completed successfully
패닉에 빠질 수 있지만 해결은 간단하다.
M1은 node 16버전 이전은 지원이 안되서 그렇다.
그래서 지금 현재 최신버전 17, 한단계 낮춘 16으로 하면 현재까지는 오류가 수정된다.
아마 버전을 업그레이드 하면서 관련 라이브러리 최적화가 아직 덜된 듯 하다
결론은
업그레이드, 업데이트는 조심하자 😇