虽然借助苹果的 Rosetta 转译程序, 可以直接运行原来的 x64 应用, 但是效率不高, 因此安装对应的 Arm 版本的软件才是最佳的选择。
从 AppStore 上下载的应用, 基本上已经都是通用 (Universal) 应用了, 只需要在新电脑上重新下载即可。 而不是在 AppStore 上下载的软件, 则只能自己去官方网站上寻找对应的 Arm 版本。
Rosetta 在最近几年内还是需要的, 毕竟有很多旧的软件还不支持 Arm 。
这个软件令人比较头疼, 但是又不得不安装, 而且没有官方的迁移方法, 只能手工按照下面的方法迁移:
~/Library/Containers/WeChat
直接用 AirDrop 发送到新电脑;~/Library/Containers/WeChat
;也可以用同样的办法迁移 QQ 的聊天文件, 或者说从 AppStore 下载的软件都可以用这种方法进行迁移,当然这个没有试过, 仅仅测试了微信和 QQ 。
项目中有很多临时文件, 特别是 node_modules
目录, 占用大量的空间, 不仅复制过去非常的耗时, 而且就算复制过去了也不能直接使用, 因此把它们清理掉再迁移。
查找制定目录下全部的 node_modules 目录并打印大小
在 Linux 和 Mac 上, 输入命令
find . -name "node_modules" -type d -prune -print | xargs du -chs
在 Windows 上,可以这样
FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" echo %d"
在 Linux 和 Mac 上, 输入命令
find . -name "node_modules" -type d -prune -print -exec rm -rf '{}' \;
在 Windows 上, 可以这样
FOR /d /r . %d in (node_modules) DO @IF EXIST "%d" rm -rf "%d"
如果有 Powershell , 还可以这样
Get-ChildItem -Path "." -Include "node_modules" -Recurse -Directory | Remove-Item -Recurse -Force
可以使用同样的办法来删除编译生成的临时文件,比如 bin
、 obj
、 class
、 dist
、logs
等临时目录;
清理完这些临时目录文件, 项目目录由 30G 缩减为 10G , 然后再用 AirDrop 发送到新电脑即可。
上面清理目录的命令来自 How to Delete ALL node_modules folders on your machine , 其中 Windows 和 Powershell 版本的没有经过测试。
这个本来按照官网的命令可以直接安装就可以了, 但是由于目前的网络环境不佳直接导致无法克隆 homebrew/core
下来, 最后找到的办法是将环境变量 HOMEBREW_CORE_GIT_REMOTE
设置为 [email protected]:Homebrew/homebrew-core.git
, 即使用 ssh 地址才可以顺利克隆下来。
安装 Homebrew 的第三方 Cask 时, 也可以指定 git 代码库的地址, 比如:
brew tap beeftornado/rmtree [email protected]:beeftornado/homebrew-rmtree.git
接下来就是继续安装 Homebrew 下的包, 和原来的用法一致。
DockerDesktop for Mac 已经适配 M1 , 不过原来的 x64 镜像(特别是数据库)几乎都不能用, 不过大部分 Linux 镜像都有 Arm 版本, 碰到没有的也可以自己编译一个出来, 使用上影响不大。
但是编译出来的镜像也是 Arm 架构的, 不能直接部署到 x64 服务器上使用, 虽然可以强制性指定 --platform linux/x64
编译出 x64 版本的镜像, 但是又不能直接测试和使用, 看来还是不能完全脱离 Intel 机器。
试过 UTM 、VMWare Fusion 、Parallel Desktop , 只能安装 Arm 版本的系统, 对 Linux 支持的比较好,Windows 的支持其实都一般, 毕竟官方是不支持虚拟 Windows 系统的。
如果确实想运行一些 Windows 软件的话, 还有一个选择,那就是 Wine 和 CrossOver ,Wine 只能运行 64 位的 Windows 软件, 而 CrossOver 则实现了 Wine32on64 , 可以在运行 32 位的 Windows 软件, 只是版本稍微低一些。
Wine 和 CrossOver 可以使用第三方的 Homebrew 公示 Gcenx/homebrew-wine 来安装,也可以在 releases 页面直接下载, 如果想尝试最新的 wine-devel 以及 wine-staging , 则可以在 Gcenx/macOS_Wine_builds 下载。
最新的 wine-devel 内置 VKD3D (用 VulkanAPI 实现 Windows 的 DirectX) 对 Windows 游戏支持的比较好, 可以抽时间试一下前段时间白嫖的古墓丽影四部曲。
虽然有 HDMI 接口, 可以直接连接 HDMI 接口显示器、投影仪、电视机之类的, 但是如果需要连接 USB 键鼠 (虽然是键线分离的,但一般不能通过 USB Type-C 直接连接) 和 U 盘之类的话,OTG 线或扩展坞还是需要一个的。
不想买扩展坞的话,也许买一个带全功能 USB Type-C 的显示器是更好的选择, 比如 Dell 的 U2421E 。
原文地址 https://beginor.github.io/2022/03/14/move-to-macbook-pro-m1-max.html , 欢迎交流。
1
Leonard 2022-03-14 10:38:19 +08:00
我换到 M1 都是软件重新安装,只转移资料文件。
|
2
mrgeneral 2022-03-14 10:41:35 +08:00
周末也刚好有一台电脑进行迁移 Intel 到 ARM 的,只用了 2 小时,大部分内容放在 iCloud 同步,只用把一些本地配置文件迁移过去就完事了,顺便把 ZSH 、VIM 这些也迁移到了 iCloud ,后续只用做一个软连接就妥了。
代码啥的都在仓库,把目录下的 git remote url 遍历出来,在新电脑重新拉代码更快。 最后看了下时间主要耗费在下载软件上了。 |
4
sherwin008 2022-03-14 11:06:10 +08:00
微信聊天记录那里,迁移过去点开聊天窗口查看记录,能显示吗?我用同样的方法迁移过去,发现读取不出来之前的聊天记录
|
5
puduhe1 2022-03-14 11:33:41 +08:00
时间机器不行吗?
|
6
beginor OP @sherwin008 我的可以,记录都在
|
9
Senorsen 2022-03-14 12:48:01 +08:00
macOS 迁移助理先通过无线方式迁移一下,然后部分不是 Universal 的 App ,以及 Homebrew 之类的重装一下不就好了嘛。
微信本身也是 Universal 的,迁移助理迁过来后就能直接用了呀。 |
10
lgdty3vv 2022-03-14 21:23:39 +08:00
brew + ohmyzsh 重新安装后,输入 brew li + tab 补全不了 brew list 命令
|
11
haogefeifei 2022-03-16 15:57:14 +08:00
9 楼说的对,我就是用迁移助理迁移的,然后慢慢替换常用软件的 arm 版本。你这复杂的折腾完全没有必要。
|
12
DD0a48YwCzYUCQ8y 2022-07-26 22:52:56 +08:00
@lgdty3vv 官方文档有 https://docs.brew.sh/Shell-Completion
To make Homebrew’s completions available in zsh, you must insert the Homebrew-managed zsh/site-functions path into your FPATH before initialising zsh’s completion facility. Add the following to your ~/.zshrc: if type brew &>/dev/null then FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}" autoload -Uz compinit compinit fi |