从Ruby开发人员的角度广泛看待Apple M1。我们看了很多不同的方面;Docker,asdf Ruby,Visual Studio Code等。
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Oh My ZSH
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
compaudit | xargs chmod g-w,o-w
# Add to ~/.zshrc
alias a="arch -x86_64"
alias ibrew="arch -x86_64 brew"
其他应用
brew cask install iterm2
ibrew install node
npm -g install yarn
ibrew install postgresql
ibrew install redis
Docker
arch -x86_64 brew install docker
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa
asdf
ibrew install asdf
echo ". $(brew --prefix asdf)/asdf.sh" >> ~/.zshrc
source ~/.zshrc
asdf plugin-add ruby https://github.com/asdf-vm/asdf-ruby.git
a asdf install ruby 2.7.2
asdf global ruby 2.7.2
其它
echo 'gem: --no-document' >> ~/.gemrc
Rails
gem install rails
rails new template
rails db:system:change
我一直在用另一种Homebrew安装方法进一步测试事情。这将允许软件包被安装到arm64上,而不是通过Rosetta2强迫它们。这样做的好处是,像RVM和asdf这样的库会使用Homebrew来安装依赖项。现在,随着依赖项被安装到arm64而不是Rosetta2,我们可以为arm安装和编译Ruby。
xcode-select --install
mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
sudo mv homebrew /opt/homebrew
cd /opt/homebrew/bin
./brew update
echo "export PATH="/opt/homebrew/bin:$PATH"" >> ~/.zshrc
source ~/.zshrc
如果你现在在brew安装方面有问题,你可以尝试添加-s标志,即使有软件包可用,也会从源代码下载。
brew install -s PROGRAM_NAME
如果你要使用Ruby on Rails,FFI库有一个问题,你需要从主库中提取。这对FFI的1.13.1版本来说是准确的。你可以把这个添加到Gemfile中
gem 'ffi', github: 'ffi/ffi'
# or
gem 'ffi', git: 'https://github.com/ffi/ffi.git'
你需要从源代码安装node:
brew install wget
wget https://nodejs.org/download/release/latest/node-v15.3.0.tar.gz
tar zxf node-v15.3.0.tar.gz
cd node-v15.3.0
./configure; make
sudo make install
sudo npm -g install yarn
\curl -sSL https://get.rvm.io | bash -s stable
source $HOME/.rvm/scripts/rvm
rvm install 2.7.2
➜ ~ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]
结果是惊人的。但是,在事情得到解决之前,我现在不能推荐这种方法。Ruby ARM版本仍然有太多的问题和兼容性问题。我已经发现了一些崩溃的情况,它还不够稳定。目前,请继续使用Ruby x86版本。