Site Loader
IMOTIF - Bangkok, Thailand

Ruby On Rails

Install On WSL #

เป็นการติดตั้งการใช้งาน Ruby On Rails บน Windows

wsl --install -d Ubuntu

Reboot คอมพิวเตอร์ เพื่อให้การติดตั้งสมบูรณ์ ตอนนี้เราก็จะได้ Ubuntu

Install Ruby #

sudo apt-get update
sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev

Install RVM, ASDF (Version Control) #

cd
git clone https://github.com/excid3/asdf.git ~/.asdf
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
echo 'legacy_version_file = yes' >> ~/.asdfrc
echo 'export EDITOR="code --wait"' >> ~/.bashrc
exec $SHELL

เราสามารถติดตั้ง asdf plugin สำหรับแต่ละภาษาได้

asdf plugin add ruby
asdf plugin add nodejs

ปัจุบันที่เขียน แนะนำให้เป็น Version 3.2.2

asdf install ruby 3.2.2
asdf global ruby 3.2.2

# Update to the latest Rubygems version
gem update --system

เพื่อตรวจสอบว่าได้ติดตั้งเรียบร้อย

which ruby
#=> /home/username/.asdf/shims/ruby
ruby -v
#=> 3.2.2

ติดตั้ง Node

asdf install nodejs 18.16.1
asdf global nodejs 18.16.1

which node
#=> /home/username/.asdf/shims/node
node -v
#=> 18.16.1

# Install yarn for Rails jsbundling/cssbundling or webpacker
npm install -g yarn

Install GIT #

เพื่อใช้ทำ Source Code Control และให้การ submit code ทราบว่าเป็นใคร ให้กรอกชื่อ และ email ด้วย

git config --global color.ui true
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR@EMAIL.com"
ssh-keygen -t ed25519 -C "YOUR@EMAIL.com"

กรณี Github ต้องการ ใช้ SSH Key

cat ~/.ssh/id_ed25519.pub

ตรวจสอบ

ssh -T git@github.com
# ต้องได้รับ message กลับดังนี้ ว่า setup สำเร็จ
Hi excid3! You've successfully authenticated, but GitHub does not provide shell access.

Install Rails #

rails เป็น Framework แต่ก็มองว่าเป็น gem ชนิดหนึ่ง

gem install rails -v 7.0.6
# ตรวจสอบว่าติดตั้งสำเร็จ
rails -v
# Rails 7.0.6

Powered by BetterDocs

Leave a Reply

Your email address will not be published. Required fields are marked *