Apple M1 Compatibility
資深大佬 : Harry1993 0
TLDR:Apple M1 下用 macports 能實現大部分 command line tools 的 native execution (不用 rosetta2 )。
剛從 Apple Store 拿到 MacBook Air 乞丐版,第一件事安裝 macports 。驚訝地發現 macports 已經是 arm64-native 了,而且 macports 下的大部分 packages 也都在 arm64 架構 pre-compiled 過了,直接可以安裝。那些尚未 pre-compiled 的可以在本地 compile 。結果就是,command line tools 基本都適配 Apple M1 。
結論:常見的 command line tools 對 Apple M1 的適配得不錯。
附錄:我用 macports 安裝 mutt 和 tmux 的日誌。我們會看到,除了 mutt 以外,其他 packages 都是直接安裝,而 mutt 需要本地 build 。
>> sudo port install tmux mutt Password: ---> Computing dependencies for tmux The following dependencies will be installed: libevent Continue? [Y/n]: Y ---> Fetching archive for libevent ---> Attempting to fetch libevent-2.1.12_0.darwin_20.arm64.tbz2 from https://packages.macports.org/libevent ---> Attempting to fetch libevent-2.1.12_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/libevent ---> Installing libevent @2.1.12_0 ---> Activating libevent @2.1.12_0 ---> Cleaning libevent ---> Fetching archive for tmux ---> Attempting to fetch tmux-3.1c_0.darwin_20.arm64.tbz2 from https://packages.macports.org/tmux ---> Attempting to fetch tmux-3.1c_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/tmux ---> Installing tmux @3.1c_0 ---> Activating tmux @3.1c_0 ---> Cleaning tmux ---> Computing dependencies for mutt The following dependencies will be installed: curl-ca-bundle gnutls libidn2 libtasn1 libunistring nettle p11-kit Continue? [Y/n]: Y ---> Fetching archive for curl-ca-bundle ---> Attempting to fetch curl-ca-bundle-7.73.0_0.darwin_20.noarch.tbz2 from https://packages.macports.org/curl-ca-bundle ---> Attempting to fetch curl-ca-bundle-7.73.0_0.darwin_20.noarch.tbz2.rmd160 from https://packages.macports.org/curl-ca-bundle ---> Installing curl-ca-bundle @7.73.0_0 ---> Activating curl-ca-bundle @7.73.0_0 ---> Cleaning curl-ca-bundle ---> Fetching archive for libunistring ---> Attempting to fetch libunistring-0.9.10_0.darwin_20.arm64.tbz2 from https://packages.macports.org/libunistring ---> Attempting to fetch libunistring-0.9.10_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/libunistring ---> Installing libunistring @0.9.10_0 ---> Activating libunistring @0.9.10_0 ---> Cleaning libunistring ---> Fetching archive for libidn2 ---> Attempting to fetch libidn2-2.3.0_0.darwin_20.arm64.tbz2 from https://packages.macports.org/libidn2 ---> Attempting to fetch libidn2-2.3.0_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/libidn2 ---> Installing libidn2 @2.3.0_0 ---> Activating libidn2 @2.3.0_0 ---> Cleaning libidn2 ---> Fetching archive for libtasn1 ---> Attempting to fetch libtasn1-4.16.0_0.darwin_20.arm64.tbz2 from https://packages.macports.org/libtasn1 ---> Attempting to fetch libtasn1-4.16.0_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/libtasn1 ---> Installing libtasn1 @4.16.0_0 ---> Activating libtasn1 @4.16.0_0 ---> Cleaning libtasn1 ---> Fetching archive for nettle ---> Attempting to fetch nettle-3.6_0.darwin_20.arm64.tbz2 from https://packages.macports.org/nettle ---> Attempting to fetch nettle-3.6_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/nettle ---> Installing nettle @3.6_0 ---> Activating nettle @3.6_0 ---> Cleaning nettle ---> Fetching archive for p11-kit ---> Attempting to fetch p11-kit-0.23.21_0.darwin_20.arm64.tbz2 from https://packages.macports.org/p11-kit ---> Attempting to fetch p11-kit-0.23.21_0.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/p11-kit ---> Installing p11-kit @0.23.21_0 ---> Activating p11-kit @0.23.21_0 ---> Cleaning p11-kit ---> Fetching archive for gnutls ---> Attempting to fetch gnutls-3.6.15_0+doc.darwin_20.arm64.tbz2 from https://packages.macports.org/gnutls ---> Attempting to fetch gnutls-3.6.15_0+doc.darwin_20.arm64.tbz2.rmd160 from https://packages.macports.org/gnutls ---> Installing gnutls @3.6.15_0+doc ---> Activating gnutls @3.6.15_0+doc ---> Cleaning gnutls ---> Fetching archive for mutt ---> Attempting to fetch mutt-2.0.0_0+gnutls+idn+imap+pop+smtp.darwin_20.arm64.tbz2 from https://packages.macports.org/mutt ---> Attempting to fetch mutt-2.0.0_0+gnutls+idn+imap+pop+smtp.darwin_20.arm64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/mutt/mutt ---> Attempting to fetch mutt-2.0.0_0+gnutls+idn+imap+pop+smtp.darwin_20.arm64.tbz2 from https://mse.uk.packages.macports.org/mutt ---> Fetching distfiles for mutt ---> Attempting to fetch mutt-2.0.0.tar.gz from https://bitbucket.org/mutt/mutt/downloads/ ---> Verifying checksums for mutt ---> Extracting mutt ---> Configuring mutt ---> Building mutt ---> Staging mutt into destroot ---> Installing mutt @2.0.0_0+gnutls+idn+imap+pop+smtp ---> Activating mutt @2.0.0_0+gnutls+idn+imap+pop+smtp ---> Cleaning mutt ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. ---> Some of the ports you installed have notes: tmux has the following notes: If you want integration with system pasteboard consider installing port tmux-pasteboard as well >>
大佬有話說 (7)