--- tags: Ruby On Rails --- {%hackmd umDwI4ZuRbaPk1Uc49wqrA %} <i class="fa fa-diamond hightlight" aria-hidden="true"></i> Ruby On Rails - 01. Ruby, Rails 環境安裝紀錄 === [](https://hackmd.io/UBFKmw6TSyKeuGAXUzIaUQ) ## 1. 安裝 Ruby 前須建立的環境 ### **💻 Mac OS 安裝 Homebrew** >👉🏻 [The Missing Package Manager for macOS (or Linux) — Homebrew](https://brew.sh/) >📌[Homebrew 安裝紀錄(待補充)](/xnBVpb3MQ3mqNi5i4iZY2g) ### **💻 Windows 系統先建立 WSL 環境** >👉🏻 到 [Windows Server Installation Guide](https://docs.microsoft.com/en-us/windows/wsl/install-on-server) 的 Enable the Windows Subsystem for Linux 段落 **1. 按下Windows 鍵,搜尋 Windows PowerShell,以系統管理員權限啟動,在PowerShell中貼上指令如下:** ```console $Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux ``` **2. 重新開機 (Restart)** **3. 開啟 Microsoft Store,選擇 Ubuntu 進行安裝** 目前我使用的版本是 [Ubuntu 18.04 LTS](https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q?activetab=pivot:overviewtab) ,Ubuntu 會要求輸入 username, password,輸入後要記得。  **4.** 設定專案常用路徑: `/home/anki/mnt/c/users/anki/Desktop/project_name` --- ## **2. 安裝 RVM** 👉🏻 RVM 官網: [RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation](https://rvm.io/) >可在RVM中安裝且管理不同的Ruby版本 **1. 到RVM官網首頁的 Cut Rubies with ease!,找到第二行 Install RVM 的指令複製貼到 WSL 中** ```console $ \curl -sSL https://get.rvm.io | bash -s stable ``` **2. 查看 rvm 的版本,有顯示代表安裝成功了** ```console # rvm 版本 $ rvm --version $ rvm -v # rvm 1.29.12-next (master) by Michal Papis, Piotr Kuczynski, # Wayne E. Seguin [https://rvm.io] ``` ### 📗**安裝 RVM 遇到的 Error 紀錄** >由於每個人安裝的狀況不太相同,所以這邊紀錄目前有安裝過不同電腦間錯誤訊息的紀錄 📌 [Windows 10 - 安裝 RVM紀錄(待補充)](/rS8kGYCDRLu9bqQ9INkHvA) 📌 [MacBook Air 2014 - 安裝 RVM紀錄(待補充)](/8paguw4TSTGojAL_Mt8oQA) 📌 [MacBook pro late 2011 - 安裝 RVM紀錄(待補充)](/uE3y8vyvS26A_SWb9Gv_dg) --- ## 3. RVM 安裝 Ruby 👉🏻 [Ruby Programming Language 中文官方網頁](https://www.ruby-lang.org/zh_tw/) ```console= $ rvm help # 會顯示 rvm 可使用的指令說明 $ which ruby # ruby 安裝在電腦中的位置 # /home/user_name/.rvm/gems/ruby-3.0.2 ``` ```console= $ rvm get master # 更新目前已支援的版本列表 ``` ```console= $ rvm list known # 列出目前可以安裝的列表 # ---------------$ rvm list known 指令後顯示的部分畫面---------------------- # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p648] [ruby-]2.1[.10] [ruby-]2.2[.10] [ruby-]2.3[.8] [ruby-]2.4[.10] [ruby-]2.5[.9] [ruby-]2.6[.8] [ruby-]2.7[.4] [ruby-]3[.0.2] ruby-head # ---------------$ rvm list known ---------------------- ``` ```console= $ rvm install 2.4.1 # 安裝 Ruby 版本 2.4.1 $ rvm uninstall 2.4.1 # 移除不同版本的 Ruby (這裡版本2.4.1) ``` ```console= $ rvm list # No rvm rubies installed yet. Try 'rvm help install' # 尚未安裝時顯示的訊息 # 已安裝版本如下-------------- # ruby-2.6.6 [ x86_64 ] # ruby-2.7.0 [ x86_64 ] # ruby-2.7.3 [ x86_64 ] # ruby-2.7.4 [ x86_64 ] # =* ruby-3.0.2 [ x86_64 ] # 目前使用版本與預設版本 ## => - current ## =* - current && default ## * - default # -------------------------- ``` ```console= $ ruby -v # 目前使用版的Ruby版本 # ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux] ``` ```console= $ rvm use 3.0.2 # 切換使用Ruby 3.0.2版本 $ rvm 3.0.2 # 切換使用Ruby 3.0.2版本 $ rvm 3.0.2 --default # 設定預設使用版本 # Using /home/user_name/.rvm/gems/ruby-3.0.2 $ rvm system # 變更回原來系統 /usr/bin/ruby ``` ```console= $ rvm info # rvm 目前做的設定 ``` 若把`.rvm` 資料夾整個移除,所有 Ruby 版本就會直接刪除了,但不會影響原來系統內建的 Ruby --- ## 4. 使⽤套件(Gem) 👉🏻 [RubyGems.org | Ruby 社群 Gem 套件管理平台](https://rubygems.org/) Ruby 的套件套件管理服務,用來管理或搜尋套件(比如說 Rails)用,將程式碼打包成一個套件,會稱這一個套件為 Gem,可供使用者下載使用。 ```console= $ gem env # 列出 Gem ⽬前在這台電腦的設定,RubyGems Environment #------------------$ gem env 指令後顯示的畫面 ----------------- /home/user_name/.rvm/rubies/ruby-RubyGems Environment: - RUBYGEMS VERSION: 3.2.26 - RUBY VERSION: 3.0.2 (2021-07-07 patchlevel 107) [x86_64-linux] - INSTALLATION DIRECTORY: /home/user_name/.rvm/gems/ruby-3.0.2 - USER INSTALLATION DIRECTORY: /home/user_name/.gem/ruby/3.0.0 - RUBY EXECUTABLE: /home/user_name/.rvm/rubies/ruby-3.0.2/bin/ruby - GIT EXECUTABLE: /usr/bin/git - EXECUTABLE DIRECTORY: /home/user_name/.rvm/gems/ruby-3.0.2/bin - SPEC CACHE DIRECTORY: /home/user_name/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /etc - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /home/user_name/.rvm/gems/ruby-3.0.2 - /home/user_name/.rvm/rubies/ruby-3.0.2/lib/ruby/gems/3.0.0 # ... # ... (省略) # ... - /snap/bin ``` **Gem 安裝的所在路徑** ```console= # --- $ gem env 指令後顯示的畫面中的 --- INSTALLATION DIRECTORY: /home/user_name/.rvm/gems/ruby-3.0.2 ``` - [x] **確認 Ruby / Rails 都有 rvm 字樣** ```console= # 3.0.2 版本 $ which ruby # /home/user_name/.rvm/rubies/ruby-3.0.2/bin/ruby $ which rails # /home/user_name/.rvm/gems/ruby-3.0.2/bin/rails ``` - [x] **更新 Gem 並 安裝 Rails** ```console= $ gem install rails # 沒有特別指定版本,預設會安裝最新版本 $ gem update --system $ gem install rails -v 5.1.1 # 若指定安裝特定版本 $ gem install rails --pre # 安裝最新測試版本 ``` - [x] **確認 Rails 版本** ```console= $ rails -v # 6.1.4, 有出現版本代表安裝成功 ``` - [x] **最後,建立 Rails 專案** ```console= $ rails new project_name # 比如 rails new akNote .... .... .... Webpacker successfully installed :tada: :cake: ``` 📌[練習建立新專案-MinimalistNote(待補充)](/wvYW3ixHS2qTsglD-me-Kw) --- ## 5. 安裝 node, yarn ### ⚙ 安裝 node >👉🏻 [Node.js](https://nodejs.org/en/) >👉🏻 [NPM 套件管理工具 GitHub | nodejs-tw/nodejs-little-book](https://github.com/nodejs-tw/nodejs-little-book/blob/master/zh-tw/node_npm.rst) ✅ **確認有安裝 node** 💻 MacOS ```console= $ which node # /usr/local/bin/node ``` 💻 Windows 10 的 WSL ```console= $ which node # /home/username/.nvm/versions/node/v16.6.1/bin/node ``` ✅ **確認node版本有 > 14** ```console= $ node -v # v14.17.5 ``` --- ✅ **確認有安裝yarn** >👉🏻 [Home | Yarn - Package Manager](https://yarnpkg.com/) >👉🏻 [yarn | GitHub](https://github.com/yarnpkg/yarn) 💻 Macbook Air 2014 ```console $ which yarn # /usr/local/bin/yarn ``` 💻 Windows 的 WSL ```console $ which yarn # /home/username/.nvm/versions/node/v16.6.1/bin/yarn ``` ```console $ npm install -g yarn ``` ⁉ yarn 使用 `npm install -g yarn` 失敗,改用 Homebrew 來安裝 >使用電腦為 Macbook air 2014 👉🏻 [yarn install fails with permission denied error #5095](https://github.com/yarnpkg/yarn/issues/5095) ```console= brew uninstall yarn brew update brew install yarn ``` ### ⚠ 使用套件注意事項 在安裝別人提供的套件時,要特別注意 License,若 MIT, BSD 可自行使用,但 GPL 的是有條件的License, 若有用到GPL的程式碼,那原作者可以要求使用的開發者公開原始碼,就算重寫還是得公開。 **💡 以 安裝 dayjs 為例** >[dayjs](https://day.js.org/docs/en/get-set/get)  --- ## References ### Ruby On Rails >+ [為你自己學Ruby On Rails | 作者: 高見龍](https://railsbook.tw/) ### License >+ [MIT授權條款 | Wikipedia ](https://zh.wikipedia.org/wiki/MIT%E8%A8%B1%E5%8F%AF%E8%AD%89) >+ [The MIT License | Open Source Initiative](https://opensource.org/licenses/mit-license.php) >+ [BSD授權條款 | Wikipedia ](https://zh.wikipedia.org/wiki/BSD%E8%AE%B8%E5%8F%AF%E8%AF%81) >+ [The 2-Clause BSD License | Open Source Initiative](https://opensource.org/licenses/bsd-license.php) >+ [GNU通用公眾授權條款 | Wikipedia](https://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81) >+ [\[開源教\]教我正確選擇軟體授權](https://hackmd.io/@xFFt1IK9RFqBBDprY_V0yA/rk-sbm42z?type=view) >+ [什麼是Open Source - 樂高版本](https://www.youtube.com/watch?v=6NhyCXJU-IQ) ###### tags: `Ruby On Rails`,`JavaScript` `課程`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up