• rbenv、fish 與 VSCode 設置之路


    在最新的 VSCode 1.3.1 版裡,Integrated Terminal 變得更加好用,但由於上游套件 xterm.js 的緣故,zsh 還是有無法捲動的問題。不過作為一個 Rails 開發者,VSCode 已經是個足夠好用的、足矣媲美 Sublime Text 的編輯器了。為了能夠在 VSCode 開發 Rails,特別對目前的開發環境做出調整。

    由 RVM 轉換至 rbenv

    聽聞 rbenv 相較 rvm 來說,是對系統較為乾淨的 ruby 版本管理工具。就趁這次更新開發環境一起重置吧!

    移除 rvm

    套件也內建了一鍵移除的方式:

    rvm implode
    

    做完之後也可以將 rvm 剩餘的檔案移掉:

    rm -rf ~/.rvm
    

    安裝 rbenv

    參照了專案官網的說明,只要把該 repo clone 下來,設置好 PATH 變數,在為 shell 加上一些設定便可以開始安裝 ruby 了。在 OS X 環境又更容易,只要用 Homebrew 一鍵安裝便成。

    brew install rbenv
    

    裝完之後就可以發現 rbenv 已經被裝到 Homebrew 的可執行位置了,可以跑 which 指令檢驗

    which rbenv
    # => /usr/local/bin/rbenv
    

    在 Homebrew 安裝跑完之後,安裝腳本會提示已在 shell profile(.zshrc/.profile/.bash_profile) 加上 rbenv 初始化腳本,預設內容如下:

    export PATH="$HOME/.rbenv/bin:$PATH"
    eval "$(rbenv init -)"
    

    第二行的 rbenv init - 指令輸出,在你一般開啟的 Terminal 會跑出:

    export PATH="/Users/USERNAME/.rbenv/shims:${PATH}"
    export RBENV_SHELL=zsh
    source '/usr/local/Cellar/rbenv/1.0.0/libexec/../completions/rbenv.zsh'
    # ... 下面一串
    

    不過在 VSCode 內建終端機卻會跑出:

    export PATH="/usr/local/opt/rbenv/shims:${PATH}" # 就這行不同
    export RBENV_SHELL=zsh
    
    # ... 下面一樣
    

    大概是執行權限不同的關係吧,rbenv 執行的位置不同也會讓 gem/bundler 裝到不同的位置,為了方便起見,一律設成一般終端機跑出來的那串。把下面這串貼到 ~/.zshrc 最下面就是。

    export PATH="/Users/USERNAME/.rbenv/shims:${PATH}"
    export RBENV_SHELL大专栏  rbenv、fish 與 VSCode 設置之路>=zsh
    source '/usr/local/Cellar/rbenv/1.0.0/libexec/../completions/rbenv.zsh'
    command rbenv rehash 2>/dev/null
    rbenv() {
      local command
      command="$1"
      if [ "$#" -gt 0 ]; then
        shift
      fi
    
      case "$command" in
      rehash|shell)
        eval "$(rbenv "sh-$command" "$@")";;
      *)
        command rbenv "$command" "$@";;
      esac
    }
    

    若是 fish 就貼下面這個:

    setenv PATH '/Users/USERNAME/.rbenv/shims' $PATH
    setenv RBENV_SHELL fish
    . '/usr/local/Cellar/rbenv/1.0.0/libexec/../completions/rbenv.fish'
    command rbenv rehash 2>/dev/null
    function rbenv
      set command $argv[1]
      set -e argv[1]
    
      switch "$command"
      case rehash shell
        . (rbenv "sh-$command" $argv|psub)
      case '*'
        command rbenv "$command" $argv
      end
    end
    

    裝 ruby

    rbenv install 2.3.1
    rbenv global 2.3.1
    gem install bundler
    
    bundle install
    

    搞定!

    Pow 的額外設定

    其實在 Pow 的 wiki 就有解答,不過因為我又對 rbenv 做了 PATH 的改動,所以設定也不太一樣。

    打開 ~/.powconfig 並貼入

    export PATH="/Users/USERNAME/.rbenv/shims:/Users/USERNAME/.rbenv/shims/bin:$PATH"
    

    然後重啟 pow service

    touch ~/.pow/restart.txt
    

    將主要 shell 由 zsh 換成 fish

    zsh 有著非常有名的 oh-my-zsh 設定檔管理框架,fish 底下也有個好用的叫 fisherman。不過我終究是沒有把系統預設的 shell 換掉(chsh 指令),因為挺多工具與 fish 不相容。

    fish 啟動速度飛快,帶我重回還沒有裝一堆 zsh 套件的美好往日時光。

    VSCode

    講來講去這篇好像跟 VSCode 沒啥關係耶?那就附張截圖好了,VSCode 也是十分優秀的 Markdown 編輯器,內建了快速的 Preview,碼 code、寫文件、Terminal、Task Runner 全都內建了,還夠輕量快速,Extension 也陸續多了起來,還真不好挑剔啊 XD。

  • 相关阅读:
    Python List comprehension列表推导式
    Git
    Python 默认参数 关键词参数 位置参数
    Blog List
    【论文笔记】DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families
    【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior
    Scala入门 【1】
    RocketMQ与Kafka对比(18项差异)
    Kafka简介
    Spark存储管理(读书笔记)
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12268073.html
Copyright © 2020-2023  润新知