Closed19

Intel MacからM3 Pro Macに移行して環境構築 without 移行アシスタント

TaroTaro

移行元: MacBook Air (Intel, 2020)
移行先: MacBook Pro M3 Pro
移行アシスタントを使おうとしたら何時間待っても進みそうにないので全部手動でやる。

まず既存のiCloudアカウントを使ってサインイン
Dockからあまり使わないアプリを消す
Google Chromeインストール、デフォルトブラウザをChromeに変更

TaroTaro

VSCodeとそのCLIを入れた
Homebrewを入れた

TaroTaro

移行元Macに入れていた諸々のアプリを移行していく。
Slackなど大半はもともと使っていたアカウントでログインするだけでOK。
DockerはIntel用のものではなくApple Silicon用のものを入れる。
有効なキーボードショートカットを教えてくれるCheatSheetというアプリはKeyCueになりアホみたいな価格で有料化されてしまったので、ベータ版ではあるがKeyCluを入れる。

TaroTaro

やっぱりCheatSheetを使いたい。

  1. 2台のMacをThunderboltで接続し、移行先でFinder > 移動 > サーバーに接続から移行元のMacに接続し、移行元のアカウントでログイン
  2. 移行元のアプリケーションフォルダからCheatSheetアプリを丸ごと移行先のアプリケーションフォルダに移動
  3. 移行先でCheatSheetアプリを起動
  4. 動いた!やったね
TaroTaro

ついでにDesktopやDownloadフォルダにある有象無象を移行する。Finderでひたすらドラッグ&ドロップを繰り返すだけ。

TaroTaro

ふと移行先のデスクトップを見たら、なぜかChromeのアイコンがあって消せなかったり

フォルダやファイルの左上にバツ印がついてたりする

よくわからないが、バツ印があるものも問題なく開けるので一旦無視して先に進む。あとで再起動してみよう。

TaroTaro

そういやChrome拡張機能のAmazonSeller Filterはいつのまにかwebストアから消えていたので同じ機能をもつ別の拡張機能で代用する
自作して「パッケージ化されていない拡張機能を読み込む」で入れていた拡張機能もあるので、これも移行する。

TaroTaro

TeXも必要なので入れる。時間がかかるのでとりあえずインストール開始しておき、他の部分で移行忘れがないか見回る

TaroTaro

.zshrcなどにもいろいろ書いてるのでこれも忘れずに

TaroTaro

ssh-keygen -t rsaして鍵を作りGitHubに登録。既存のアカウントに紐付けできた。

TaroTaro

VSCodeのグローバル設定を記したJSONを移行した

TaroTaro

再起動したらデスクトップの謎Chromeアイコンもバツ印も消えた

TaroTaro

バージョン管理ツールはasdf採用。移行元ではanyenvだが引き継ぐ必要もないのでついでに乗り換える

TaroTaro

Ruby on Rails環境構築をする。
まずgem install bundler:2.5.6すると

ERROR:  While executing gem ... (Gem::FilePermissionError)

と怒られた。これを参考に然るべきバージョン、今回は3.0.6のRubyを入れる。

$ asdf install ruby 3.0.6
$ which ruby
/Users/taro137/.asdf/shims/ruby

$ which gem
/Users/taro137/.asdf/shims/gem

よし。
続けてgem install bundler:2.5.6したらまた怒られたのでexec $SHELL -lしてから再チャレンジしたら成功。

TaroTaro

Railsプロジェクトのディレクトリに移動しbundle installしたらエラー。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

中略

An error occurred while installing mimemagic (0.4.3), and Bundler cannot continue.

In Gemfile:
  mimemagic

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

中略

An error occurred while installing mysql2 (0.5.6), and Bundler cannot continue.

In Gemfile:
  mysql2

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

中略

An error occurred while installing rmagick (5.4.3), and Bundler cannot continue.

In Gemfile:
  rmagick

これを参考にbrew install mysqlしてから再度やったらエラーが減った。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

中略

An error occurred while installing mimemagic (0.4.3), and Bundler cannot continue.

In Gemfile:
  mimemagic

これこれを参考にbrew install shared-mime-infoしてから再度試すと、rmagickのエラーが消えないどころかmysqlのエラーが復活してしまった。

TaroTaro

エラーをちゃんと見ると
ld: library 'zstd' not foundなどと書いてあるので、これを参考に

$ LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/ bundle install

するとmysqlのエラーは再び消え、rmagickのエラーが残った。
これこれを参考にimagemagickのバージョンを下げようとすると

$ brew info imagemagick
==> imagemagick: stable 7.1.1-28 (bottled), HEAD
Tools and libraries to manipulate images in many formats
https://imagemagick.org/index.php
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/i/imagemagick.rb
License: ImageMagick
以下略

Not installedと書いてある。のでunlinkは飛ばして

$ brew install imagemagick@6
中略

$ brew link --force imagemagick@6
Linking /opt/homebrew/Cellar/imagemagick@6/6.9.13-6... 76 symlinks created.

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/opt/homebrew/opt/imagemagick@6/bin:$PATH"' >> ~/.zshrc

$ bundle install
Fetching gem metadata from https://rubygems.org/.......
Installing rmagick 5.4.3 with native extensions
Bundle complete! 88 Gemfile dependencies, 252 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
1 installed gem you directly depend on is looking for funding.
  Run `bundle fund` for details

できた!

TaroTaro

yarnを入れる。Node.jsはasdfで入れてある。

$ asdf plugin add yarn
$ asdf install yarn 1.22.21
gpg: 鍵1646B01B86E50310:"Yarn Packaging <yarn@dan.cx>"変更なし
gpg:           処理数の合計: 1
gpg:               変更なし: 1
gpg: 有効なOpenPGPデータが見つかりません。
gpg: 署名を検証できませんでした。署名ファイル
(.sigや.asc)がコマンド行の最初でなければ
ならないことを念頭においてください。

うまくいかない。
これなどを参考にcorepackを使ってみる。

$ yarn -v
zsh: command not found: yarn
$ asdf plugin remove yarn
$ corepack enable yarn
$ yarn -v
zsh: command not found: yarn
$ asdf reshim
$ yarn -v
1.22.19

できた!

TaroTaro

Rustは個人で使っていてバージョン管理に頭を悩ませることがあまりないので、asdfを噛ませず直で入れる。

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
中略
Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, run:
source "$HOME/.cargo/env"

最後の1行は.zshrcに書いておく。

このスクラップは2024/02/20にクローズされました