Ruby 및 React 네이티브 세계에는 (추상화 계층 아래에서) 소스에서 Ruby와 같은 소프트웨어를 구축하는 상당히 평범한 방법을 사용하게 되는 도구 버전 관리자가 있습니다.
./configure
./make
./make install
...위의 추상화에서 이러한 명령에 다양한 옵션을 전달합니다.
내 M1 MacBook Pro에서는 내가 실행 중인 아키텍처를 빌드가 인식할 수 있도록 명령줄 옵션을 전달할 때 주의해야 한다는 것을 알았습니다. 예를 들어:
export CONFIGURE_OPTS="--build aarch64-apple-darwin20"; asdf install ruby 2.6.6
asdf install
...이러한 오류로 인해 구성이 중단되는 것을 방지합니다 machine not recognised
.
더 자세히 살펴보면 config.sub
2007년에 생성된 빌드 디렉터리에 파일이 있습니다. arm64 아키텍처에 대해서는 아무것도 모릅니다.
./configure
다른 프로젝트에서 2021 버전 config.sub를 교체하고 다시 시도하면 성공하기 때문에 문제가 여기에 있다고 확신합니다 .
asdf install...
나는 M1 컴퓨터에 똑같은 프로세스로 동일한 소프트웨어를 설치한 동료들이 그런 문제를 겪지 않았다는 사실에 놀랐습니다 .
이것은 asdf
구체적이지 않습니다. CocoaPods에 의해 설치된 종속성과 동일한 문제가 있었고 이는 및 를 configure
사용하는 모든 기반 에도 있었습니다 make
. 마찬가지로 내 동료에게도 문제가 없었습니다.
다른 사람의 컴퓨터(또는 내 컴퓨터)에 있는 어떤 것이 config.sub의 결과를 덮어쓰게 됩니다. 그렇지 않으면 다른 config.sub 복사본을 제공해야 합니다. 혼란스러워요.
업데이트: "작업" 기계와 내 기계 사이의 중요한 차이점 중 하나는 uname의 출력인 것 같습니다.
내 거:
Darwin 192.168.1.102 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:27 PDT 2021; root:xnu-7195.141.2~5/RELEASE_ARM64_T8101 arm64 arm64 MacBookPro17,1 Darwin
다른 사람:
Darwin Joes-MacBook-Pro.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 arm64
특히 다른 사람의 기계와 내 기계에 대한 보고서입니다 uname -p
.arm
arm64