iT邦幫忙

第 11 屆 iThome 鐵人賽

1
自我挑戰組

自我挑戰 Ruby 刷題 30 天系列 第 31

( Day31 - 加碼 ) Windows 10 安裝 Ruby + Rails + Node.js + Git + postgresql

說在前面,鐵人賽 30 天其實已經完成了
近期正記錄些文章,之後會以個人部落格 https://riverye.com/ po 文更新為主


一口氣將常用的軟體建置起來
包含 Ubuntu、Ruby、rvm、Rails、Node.js、npm、Git、postgresql...等
實用度滿分的大補帖~~

環境建置

環境介紹

作業系統環境:
作業系統:Windows 10 x64
系統版本:1903 (OS 組建 18362.418)


安裝 Ubuntu

為何要先安裝 Ubuntu ?
因為許多 code 軟體在 Windows 上支援度很低甚至不支援
在 Windows 上安裝 Ubuntu 子系統來操作算是比較方便了
(還是比不過 Mac 方便...

接下來開始一連串安裝教學:

Windows 10 內建「Microsoft Store」,透過 Microsoft Store 安裝 Ubuntu 18.04 LTS

接著開啟 Ubuntu,出現以下的錯誤,用管理者權限開啟「Windows PowerShell」

開啟「Windows PowerSeell」,輸入

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

並重新開機,再次開啟 Ubuntu 即可正常使用。


第一次開啟 Ubuntu 需要跑幾分鐘,接著輸入自訂義的帳號及密碼。


安裝 Ruby

在 Ubuntu (以下簡稱「終端機 (Terminal)」) 中輸入如下:

$ sudo apt-get update
$ sudo apt-get install ruby

# 代表註解,不用輸入
# $ 代表這段指令要在 Terminal 輸入, $ 本身不用輸入


確認 Ruby 是否安裝及版本查詢

$ ruby -v           # ruby 2.5.1p57 (2018-03-29 revision 63029 [x86_64-linux-gnu])
$ ruby --version    # 與上面指令效果一樣,擇一使用即可


安裝 rvm

依序於 Terminal 輸入如下:

$ \curl -sSL https://get.rvm.io | bash -s stable
$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ \curl -sSL https://get.rvm.io | bash -s stable

# 安裝後,Ubuntu 要重開

rvm 版本查詢

$ rvm -v

# rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

列出目前所有可安裝的清單

$ rvm list known

安裝 Ruby 2.6.3 版本

$ rvm install 2.6

版本確認

$ ruby -v

# ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

安裝 Rails

$ gem install rails

上述指令會安裝目前最新版本 Rails (寫文章時最新版本為Rails 6.0.0)

安裝特定版本 Rails

$ gem install rails -v 5.2.3

# 以 Rails 5.2.3 版本為例


建立 Rails 專案

建立 Rails 6.0.0 專案

$ rails new your_project_name

安裝 Node.js

以安裝 Node.js 12.x 版本為例

$ sudo apt update
$ sudo apt install build-essential apt-transport-https lsb-release ca-certificates curl
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

安裝 Node.js 和 npm

$ sudo apt install nodejs

版本查詢

$ node -v    # v12.11.1
$ npm -v     # v6.11.3

參考:
How To Install Node.Js 10 / 11 / 12 On Ubuntu 16.04 | 18.04 Via APT And SNAP


裝好 Node.js 後,回到 Rails 專案繼續下一步
接著執行 rails server

$ rails serever
$ rails s

# 上述兩個指令意思一樣

會發現依然噴許多錯誤訊息

錯誤訊息中貼心提醒缺少 webpacker,由於 webpacker 需要 yarn
因此先安裝 yran 後再裝 webpacker
依序輸入:

$ rails webpacker:install
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn
$ yarn --version
$ rails webpacker:install

成功開啟的畫面如下:

建立特定版本 Rails 專案

$ rails _5.2.3_ new your_project_name

# 以 rails 5.2.3 版本為例

接著執行 Rails 專案

$ rails server
$ rails s

# 上述兩個指令意思一樣

成功開啟的畫面如下:

參考:
Yarn Docs


安裝 Git

下載連結:https://git-scm.com/download/win

下載後,執行,無腦安裝法,下一步直到安裝好為止。

輸入

$ git version

確認安裝版本即大功告成

Ubuntu 上 Git 版本更新

Ubuntu 很貼心內建 Git v2.17.1 版本,覺得版本老舊更新如下:

  1. 先更新本地端索引:
$ sudo apt update
$ sudo apt install make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
  1. 到 Git 的 GitHub 上挑選需要更新的版本

  2. 先移到暫存區

cd /tmp
  1. 使用 wget 命令安裝複製的 zip 文件鏈接。我們將為文件指定一個新名稱:git.zip
$ wget https://github.com/git/git/archive/v2.23.0.zip -O git.zip

# 以 Git 2.23.0 版本為例
  1. 解壓縮下載的文件,並通過輸入以下內容進入目錄
$ unzip git.zip
$ cd git-*
  1. 輸入以下兩個指令來製作軟體並進行安裝
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

# 安裝完後,Ubuntu 要重開
  1. 安裝完成後,確認 Git 版本
$ git --version

# git version 2.23.0

參考:
How To Install Git on Ubuntu 18.04


安裝 postgresql

Rails 內建資料庫 SQLite 練習上很方便,但實務完全不會用
(詳細原因自行Google)
因此我們要手動安裝 postgresql 資料庫,以備需要時可以使用
至於如何更換 Rails 專案內資料庫,有機會再寫一篇介紹

$ sudo apt-get install wget ca-certificates
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib

版本查詢

$ psql --version

# psql (PostgreSQL) 11.5 (Ubuntu 11.5-3.pgdg18.04+1)

接下來會比較繁瑣,建議先看下方圖片並瞭解後,再動作

$ sudo service postgresql start
$ pg_lsclusters

# pg_lscluster <version> <cluster> start
$ pg_ctlcluster 11 main start

$ sudo service postgresql restart

# sudo -u postgres createuser <username>
$ sudo -u postgres createuser river

# sudo -u postgres createdb <database_name>
$ sudo -u postgres createdb river

參考:
How to Install PostgreSQL 11 on Ubuntu 18.04 & 16.04 LTS


Q & A

為何不用 Ubuntu 的 Git 而要安裝 Git Bash ?

我也想都在 Ubuntu 上操作就好 (吶喊
$ git push 時,會遇到即使輸入正確的帳號密碼,仍會說驗證錯誤,無法上傳 GitHub 啊...
撇除 push 功能外, Ubuntu 上的 Git 功能還是可以用喔~

Ubuntu 路徑名稱太長,如何縮短 ?

$ vi ~/.bashrc

修改約第 60 - 62 行 $color_prompt 的內容

# 修改前
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '


# 修改後
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[[\033[01;32m\]\w\[\033[00m\]]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\$ '

修改儲存離開後,輸入:

$ source ~/.bashrc

即可看到修改狀態 (免重開 Ubuntu)

參考:
Ubuntu(Linux)命令行终端命令提示符过长和提示符颜色显示等效果设置

Ubuntu 的游標消失,該怎辦?

  1. 將 Windows 預設輸入模式從「中文模式」改為「英數模式」,並重開 Ubuntu。

  2. 在 Ubuntu 中若不小心切換到中文模式並輸入任意鍵時,游標又會消失,解決方法為在 Ubuntu 中輸入任意中文字後並按確認 (並非送出指令喔),此時游標再次出現,接著切換回「英數模式」即可。 (中英文切換快捷鍵:Shift 按一下)

Ubuntu 顯示的顏色調整

Ubuntu 中文字、背景、字型、字型大小等全都可以修改,修方方法如下:
滑鼠右鍵點選 Ubuntu 左上角 Logo,選擇「內容」即可進入修改。

個人 Ubuntu 終端機設定可供參考:




參考

  1. 為你自己學 Ruby on Rails - 環境設定
  2. 為你自己學 Git - 安裝在 Windows 作業系統

本文同步發表於 小菜的 Blog https://riverye.com/


上一篇
Day30-完賽是這種感覺啊
系列文
自我挑戰 Ruby 刷題 30 天31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
阿展展展
iT邦好手 1 級 ‧ 2020-03-11 06:09:45

最後一天大增量XDDD
恭喜完賽

我要留言

立即登入留言