最近、M1 SiliconのMacを入手してセットアップしたので、そのときの備忘録をまとめておく。
Homebrew
最新では、homebrew本体はM1に対応している。最低限だけインストールする。
> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
> brew install coreutils bash-completion wget
git表示用のシェルをダウンロードしておく
> cd /opt/homebrew/etc/bash_completion.d/
> wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
> wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
Terminal設定
Terminalのテーマを取得する。Solarized
が気に入っている。ホームディレクトリにインストールする。
> cd ~
> git clone https://github.com/seebi/dircolors-solarized.git
> git clone https://github.com/tomislav/osx-terminal.app-colors-solarized.git
ターミナルの環境設定で、osx-terminal.app-colors-solarized
内のSolarized Dark.terminal
またはSolarized Light.terminal
をインポートして、デフォルトにする。ウいhィンドウのサイズやフォントを適宜変更して、シェルを/bin/bash
に変更しておく。
.bashrc
を以下の内容にする
# .bashrc
#homebrew
#-------------
export HOMEBREW_PREFIX="/opt/homebrew"
export HOMEBREW_CELLAR="/opt/homebrew/Cellar"
export HOMEBREW_REPOSITORY="/opt/homebrew"
export HOMEBREW_HOME=${HOMEBREW_PREFIX}
if [ -n "$HOMEBREW_HOME" ]; then
export PATH=${HOMEBREW_HOME}/bin:$PATH
export PATH=${HOMEBREW_HOME}/sbin:$PATH
export HOMEBREW_CACHE=${HOMEBREW_HOME}/cache
export C_INCLUDE_PATH=${HOMEBREW_HOME}/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=${HOMEBREW_HOME}/include:$CPLUS_INCLUDE_PATH
fi
if [ -n "$HOMEBREW_HOME" ]; then
if [ -f "${HOMEBREW_HOME}/etc/bash_completion.d/git-prompt.sh" ]; then
source ${HOMEBREW_HOME}/etc/bash_completion.d/git-prompt.sh
fi
if [ -f "${HOMEBREW_HOME}/etc/bash_completion.d/git-completion.bash" ]; then
source ${HOMEBREW_HOME}/etc/bash_completion.d/git-completion.bash
fi
# option
GIT_PS1_SHOWDIRTYSTATE=true
if [ -f "${HOMEBREW_HOME}/etc/bash_completion.d/git-prompt.sh" ]; then
# git ps1
export PS1='\[\033[36m\]\u\[\033[37m\]@\h \[\033[32m\]\w\[\033[37m\]\[\033[31m\]$(__git_ps1)\[\033[00m\]\n\$ '
fi
if [ -f "${HOMEBREW_HOME}/bin/brew" ]; then
if [ -f "${HOMEBREW_HOME}/etc/bash_completion" ]; then
. ${HOMEBREW_HOME}/etc/bash_completion
fi
fi
if [ -n "$(which gdircolors)" ]; then
eval `gdircolors ~/dircolors-solarized/dircolors.256dark`
fi
fi
#alias
#----------
if [ -n "$(which gls)" ]; then
alias ls='gls -aF --color=auto'
alias ll='gls -alF --color=auto'
fi
NVMとNode.jsインストール
> curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
.bashrc
に以下の設定が追加されていること
> vi ~/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
> nvm --version
0.38.0
Node.jsをインストールする(ローカルでコンパイルが実行される)
> nvm ls-remote
:
v12.20.0
:
> nvm install v12.20.2
Miniconda
https://github.com/conda-forge/miniforge
M1 Apple Silicon版のPythonモジュールがまだ整備されていないので、numpyですらエラーなる状況。
いろいろ検討した結果、MinicondaのIntel版が一番サポートされている状況なので、Pythonはこれでいく。ただし、arm64版はまだ対応パッケージが少ない(pyqt5など)。
pyqt5を必要とするアプリもあるので、intel版、arm版を両方インストールしておく。リポジトリの違いでインストールフォルダも違うので、Miniforge3とMambaforgeを選択。
platform | miniforge |
---|---|
arm64 | Miniforge3 |
intel | Mambaforge |
> bash Miniforge3-MacOSX-arm64.sh
> bash Mambaforge-MacOSX-x86_64.sh
.bash_profile
に以下を追加。uname -m
のプラットフォーム名で有効にするパスを変えるようにする。
※ HOGE
を実際のユーザ名に変更して追加すること。${USER}
だとうまく動作しなかった。
if [ "$(uname -m)" == 'arm64' ]; then
# arm64 => Miniforge3
# .bash_profile
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/HOGE/miniforge3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/HOGE/miniforge3/etc/profile.d/conda.sh" ]; then
. "/Users/HOGE/miniforge3/etc/profile.d/conda.sh"
else
export PATH="/Users/HOGE/miniforge3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
else
# x86_64 => Mambaforge
# .bash_profile
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/HOGE/mambaforge/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/HOGE/mambaforge/etc/profile.d/conda.sh" ]; then
. "/Users/HOGE/mambaforge/etc/profile.d/conda.sh"
else
export PATH="/Users/HOGE/mambaforge/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
fi
Intel環境を使う場合は、ターミナルでRossetaを使用して開く
がONになっていればOK
ターミナルを起動したときに勝手に有効にならないようにする場合
> conda config --set auto_activate_base false