美文网首页
Elixir Observer 换上深色主题(MacOS Big

Elixir Observer 换上深色主题(MacOS Big

作者: 凌杰991 | 来源:发表于2020-11-29 17:51 被阅读0次

    注:本文受启发于 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

          本文链接:https://www.haomeiwen.com/subject/ngpkwktx.html