Elixir Observer 换上深色主题(MacOS Big Sur版)

注:本文受启发于 Edward 的文章《Elixir - MacOSX 深色主题上的 Observer 爬坑记录》,更多细节请参看 Edward 的文章,谢谢~

背景 Background

进行以下操作之后

  • 系统升级到 MacOS Big Sur
  • Wxmac 直接使用 Homebrew 升级到最新版(未带上--build-from-source 参数)
  • Erlang 直接使用 Homebrew 升级到最新版(未带上--build-from-source 参数)

发现原本深色主题的 Elixir Observer 打不开了,然后重新进行了深色主题的还原,多番尝试之后并不能成功,最后在 Edward 的指导与帮助下才成功还原 Elixir Observer 深色主题,以此记录一下还原过程遇到的问题~

坑点 1 The First Pothole

除了 wxmac 外,erlang 与 elixir 均采用 asdf 的方式安装(这里建议最好能进行科学上网,不然安装速度不是一般的慢)(注意我们在修改 wxmac 的 source 为最新版时配置时可以到GitHub上得到,可以先不用着急着修改 sha256 的值,下载安装失败时控制台会输出正确的 sha256 值,这时你再进行把错误的值替换为正确的值就行了。),发现在采用源码安装最新版的 Erlang 时一直安装不上,原因是 Erlang 源码包对 Big Sur 系统进行了判断限制,这时我们需要去掉这个限制,修改源码包的内容再重新打包回去,执行以下命令

# 移动到asdf下载好的源码包位置
$ cd ~/.asdf/plugins/erlang/kerl-home/archives

# 将OTP解压,此时最新版为 23.1.4
$ tar zxvf OTP-23.1.4.tar.gz

# 解除对Big Sur系统的限制,使用Vim对configure.in文件进行编辑
$ vim ~/.asdf/plugins/erlang/kerl-home/archives/otp-OTP-23.1.4/make/configure.in

# 输入法为英文且未进行编辑状态下输入 /#if __ENV 回车跳转到需要修改的位置,使用Shift+4组合键使得光标跳转到句尾,修改以下内容为
  #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > $int_macosx_version && false
# 退出编辑状态,并保存

# 重新打包将源码包还原
# 删除原来的源码包
$ rm OTP-23.1.4.tar.gz
# 重新打包
$ tar czvf OTP-23.1.4.tar.gz otp-OTP-23.1.4
# 删除解压出来的文件夹
$ rm -rf otp-OTP-23.1.4

# 重新使用asdf进行安装
$ asdf install erlang 23.1.4

这时 Erlang 能使用 asdf 成功安装上

坑点 2 The Second Pothole

最后使用 asdf 安装 elixir 时发现不管是什么版本的 elixir,在 global 之后始终还是找不到命令(elixir -v 也好,iex 也好,均找不到命令),最后发现是自己安装的 asdf 姿势不对,elixir 的源码分支没能进行更新,以下给出 Git 结合 zsh 终端的方式来确保 asdf 正常安装

# 拉取最新的asdf源码放到用户下的.asdf目录下,目前最新的分支是v0.8.0
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0
# 也可以这样操作拉取到最新asdf分支
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf
$ cd ~/.asdf
$ git checkout "$(git describe --abbrev=0 --tags)"

# 修改.zshrc使得asdf能在zsh下正常工作
$ echo ". $HOME/.asdf/asdf.sh" >> ~/.zshrc
$ echo ". $HOME/.asdf/completions/asdf.bash" >> ~/.zshrc

# 更新一下asdf
$ asdf update

# 添加erlang与elixir plugin
$ asdf plugin add erlang
$ asdf plugin add elixir

# 更新所有的plugin
$ asdf plugin update --all

执行上述步骤之后,就可以重新安装 erlang 与 elixir 了

你可能感兴趣的:(Elixir Observer 换上深色主题(MacOS Big Sur版))