백엔드/Ruby

[Ruby] 우분투 rvm + ruby 설치 + Ruby on Rails

Koras02 2022. 4. 3. 23:03
728x90

Ruby를 설치하기전 rvm을 사전 설치해야한다.

 

1. 개요

1-1.우분투 ruby-rvm 설치하기

1-2.우분투 RVM 설치

  • 과정 수행 완료시 rvm, ruby, gem 설치 완료

2. rvm 설치 확인

 

 

GitHub - rvm/ubuntu_rvm: Ubuntu package for RVM

Ubuntu package for RVM. Contribute to rvm/ubuntu_rvm development by creating an account on GitHub.

github.com

먼저 우분투에서 rvm을 설치해야한다. 위 사이트에서 우분투 용 rvm을 설치한다.

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm

설치완료후 rvm 버전확인후 버전이 뜨면 설치완료

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rvm version
rvm 1.29.12 (manual) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ gem -v
3.1.2

3. 우분투 버전 rbenv ruby 설치

1.라이브러리 설치

root@zetawiki:~# sudo apt-get install libssl-dev libreadline-dev zlib1g-dev
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
패키지 libreadline-dev는 이미 최신 버전입니다 (8.0-4).
libreadline-dev 패키지는 수동설치로 지정합니다.
패키지 zlib1g-dev는 이미 최신 버전입니다 (1:1.2.11.dfsg-2ubuntu1.3).
zlib1g-dev 패키지는 수동설치로 지정합니다.
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libfwupdplugin1 libllvm11 linux-headers-5.14.0-1027-oem
  linux-headers-5.4.0-104 linux-headers-5.4.0-104-generic
  linux-image-5.14.0-1027-oem linux-image-5.4.0-104-generic
  linux-modules-5.14.0-1027-oem linux-modules-5.4.0-104-generic
  linux-modules-extra-5.4.0-104-generic linux-oem-5.14-headers-5.14.0-1027
'sudo apt autoremove'를 이용하여 제거하십시오.
제안하는 패키지:
  libssl-doc
다음 새 패키지를 설치할 것입니다:
  libssl-dev
0개 업그레이드, 1개 새로 설치, 0개 제거 및 3개 업그레이드 안 함.
1,584 k바이트 아카이브를 받아야 합니다.
이 작업 후 8,009 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 libssl-dev amd64 1.1.1f-1ubuntu2.12 [1,584 kB]
내려받기 1,584 k바이트, 소요시간 5초 (325 k바이트/초)
Selecting previously unselected package libssl-dev:amd64.
(데이터베이스 읽는중 ...현재 367372개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../libssl-dev_1.1.1f-1ubuntu2.12_amd64.deb ...
Unpacking libssl-dev:amd64 (1.1.1f-1ubuntu2.12) ...
libssl-dev:amd64 (1.1.1f-1ubuntu2.12) 설정하는 중입니다 ...

2. useradd 추가

 sudo useradd railsuser -m -s /bin/bash
 su - railsuser(본인 user이름으로 해야됨)
 pwd
 /home/railsuser(본인 user이름)

3. rbenv 클론

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
echo $PATH
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
'/home/kim/.rbenv'에 복제합니다...
remote: Enumerating objects: 3013, done.
remote: Counting objects: 100% (117/117), done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 3013 (delta 62), reused 73 (delta 32), pack-reused 2896
오브젝트를 받는 중: 100% (3013/3013), 606.56 KiB | 3.13 MiB/s, 완료.
델타를 알아내는 중: 100% (1871/1871), 완료.
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ exec $SHELL
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ echo $PATH
/home/kim/.rbenv/shims:/home/kim/.rbenv/bin:/home/kim/npm-global-modules/bin:/home/kim/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin:/home/kim/.rvm/bin:/home/kim/.rvm/bin:/home/kim/.rvm/bin

4. ruby-build 클론

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
echo $PATH
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
'/home/kim/.rbenv/plugins/ruby-build'에 복제합니다...
remote: Enumerating objects: 12156, done.
remote: Counting objects: 100% (849/849), done.
remote: Compressing objects: 100% (321/321), done.
remote: Total 12156 (delta 560), reused 712 (delta 474), pack-reused 11307
오브젝트를 받는 중: 100% (12156/12156), 2.55 MiB | 5.39 MiB/s, 완료.
델타를 알아내는 중: 100% (8027/8027), 완료.
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ exec $SHELL
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ echo $PATH
/home/kim/.rbenv/plugins/ruby-build/bin:/home/kim/.rbenv/shims:/home/kim/.rbenv/bin:/home/kim/.rbenv/shims:/home/kim/.rbenv/bin:/home/kim/npm-global-modules/bin:/home/kim/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin:/home/kim/.rvm/bin:/home/kim/.rvm/bin:/home/kim/.rvm/bin:/home/kim/.rvm/bin

5. rbenv-gem-rehash 클론

git clone https://github.com/rbenv/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ git clone https://github.com/rbenv/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
'/home/kim/.rbenv/plugins/rbenv-gem-rehash'에 복제합니다...
remote: Enumerating objects: 100, done.
remote: Total 100 (delta 0), reused 0 (delta 0), pack-reused 100
오브젝트를 받는 중: 100% (100/100), 11.76 KiB | 11.76 MiB/s, 완료.
델타를 알아내는 중: 100% (19/19), 완료.

6.루비 설치 (실패)

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rbenv install 2.3.1
Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2
Installing ruby-2.3.1...

WARNING: ruby-2.3.1 is past its end of life and is now unsupported.
It no longer receives bug fixes or critical security updates.

7.(optional) 퍼미션 조정

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ll /usr/bin/perl
-rwxr-xr-x 1 root root 3478464 10월 19  2020 /usr/bin/perl*
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ll /usr/bin/make
-rwxr-xr-x 1 root root 230968  7월 28  2018 /usr/bin/make*
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ chmod +x /usr/bin/perl
chmod: '/usr/bin/perl'의 권한 설정 중: 명령을 허용하지 않음
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ chmod +x /usr/bin/perl
chmod: '/usr/bin/perl'의 권한 설정 중: 명령을 허용하지 않음
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ sudo chmod +x /usr/bin/perl
[sudo] kim 암호: 
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ sudo chmod +x /usr/bin/curl
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ sudo hmod +x /usr/bin/make
sudo: hmod: 명령이 없습니다
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ sudo chmod +x /usr/bin/make
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ll /usr/bin/perl
-rwxr-xr-x 1 root root 3478464 10월 19  2020 /usr/bin/perl*
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ll /usr/bin/curl
-rwxr-xr-x 1 root root 239848  9월 10  2021 /usr/bin/curl*
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ll /usr/bin/make
-rwxr-xr-x 1 root root 230968  7월 28  2018 /usr/bin/make*
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$

8. 루비 설치 (현재 최신 버전 3.1.1) 

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rbenv install --verbose 3.1.1
/tmp/ruby-build.20220403223659.96578.BQzK8E ~
Downloading ruby-3.1.1.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.1.tar.gz
/tmp/ruby-build.20220403223659.96578.BQzK8E/ruby-3.1.1 /tmp/ruby-build.20220403223659.96578.BQzK8E ~

설치하는데 조금 걸린다. 여유롭게 기다려준다.

 

9.루비 설정 및 확인

 rbenv global 3.1.1
 ruby -v
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rbenv versions
* system
  3.1.1
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rbenv global 3.1.1
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rbenv versions
  system
* 3.1.1 (set by /home/kim/.rbenv/version)
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ruby -v
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-linux]
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$

10. 리눅스 rails 설치전 사용자 계정 생성

  • 먼저 root 계정으로 rails를 설치하다 보면 "Dont't run Bundler as root."라는 메시지가 나온다.
  • 권장 사항대로 별도 계정을 만들어 진행한다.
  • 여기서 간단히 railsuser라는 계정을 만들었는데, 다른 계정을 써도된다.
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ useradd kim -m -s /bin/bash
useradd: 'kim' 사용자가 이미 있습니다
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ ech 'kim:P@ssOrd' | chpasswd

명령어 'ech' 을(를) 찾을 수 없습니다. 다음 명령어로 시도하시겠습니까:

  deb ecpecere-dev의 명령어 ' (0.44.15-1build3)'
  deb ecsecere-dev의 명령어 ' (0.44.15-1build3)'
  deb bchbikeshed의 명령어 ' (1.78-0ubuntu1)'
  deb schscheme2c의 명령어 ' (2012.10.14-1ubuntu1)'
  deb ecjecj의 명령어 ' (3.16.0-1)'
  deb eclecl의 명령어 ' (16.1.3+ds-4)'
  deb dchdevscripts의 명령어 ' (2.20.2ubuntu2)'
  deb echocoreutils의 명령어 ' (8.30-3ubuntu2)'
  deb ecmgmp-ecm의 명령어 ' (7.0.4+ds-5)'
  deb eccecere-dev의 명령어 ' (0.44.15-1build3)'

Try: sudo apt install <deb name>

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ echo 'kim:P@ssOrd' | chpasswd
kim에 대한 암호 변경 중
chpasswd: (user kim) pam_chauthtok() failed, error:
인증 토근 수정 오류
chpasswd: (line 1, user kim) password not changed
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ cat /etc/passwd | grep kim
kim:x:1000:1000:kim,,,:/home/kim:/bin/bash
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ cat /etc/group | grep kim
adm:x:4:syslog,kim
cdrom:x:24:kim
sudo:x:27:kim
dip:x:30:kim
plugdev:x:46:kim
lpadmin:x:120:kim
lxd:x:131:kim
kim:x:1000:
sambashare:x:132:kim
docker:x:998:kim
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ su - kim
암호: 
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ pwd
/home/kim

11. 확인

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rails -v
Rails 5.2.3
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ gem list | grep rails

12. 설치

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ gem install rails
Fetching method_source-1.0.0.gem
Fetching thor-1.2.1.gem
Fetching tzinfo-2.0.4.gem
Fetching zeitwerk-2.5.4.gem
Fetching concurrent-ruby-1.1.10.gem
Fetching i18n-1.10.0.gem
Fetching activesupport-7.0.2.3.gem
Fetching nokogiri-1.13.3-x86_64-linux.gem
Fetching crass-1.0.6.gem
Fetching loofah-2.16.0.gem
Fetching rails-html-sanitizer-1.4.2.gem
Fetching rails-dom-testing-2.0.3.gem
Fetching rack-2.2.3.gem
Fetching rack-test-1.1.0.gem
Fetching erubi-1.10.0.gem
Fetching builder-3.2.4.gem
Fetching actionview-7.0.2.3.gem
Fetching actionpack-7.0.2.3.gem
Fetching railties-7.0.2.3.gem
Fetching mini_mime-1.1.2.gem
Fetching marcel-1.0.2.gem
Fetching activemodel-7.0.2.

13. 확인 2

kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ rails -v
Rails 7.0.2.3
kim@kim-ThinkPad-X1-Carbon-Gen-8:~$ gem list | grep rails
rails (7.0.2.3)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.4.2)

14. 최종 rails 애플리케이션 생성

kim@kim-ThinkPad-X1-Carbon-Gen-8:~/바탕화면/develop/backend/rails$ rails new my_app
      create  
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  .gitattributes
      create  Gemfile
         run  git init from "."
/home/kim/바탕화면/develop/backend/rails/my_app/.git/ 안의 빈 깃 저장소를 다시 초기화했습니다
      create  app
      create  app/assets/config/manifest.js
      create  app/assets/stylesheets/application.css
      create  app/channels/application_cable/channel.rb
      create  app/channels/application_cable/connection.rb
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/jobs/application_job.rb
      create  app/mailers/application_mailer.rb
      create  app/models/application_record.rb
      create  app/views/layouts/application.html.erb
      create  app/views/layouts/mailer.html.erb
      create  app/views/layouts/mailer.text.erb
      create  app/assets/images
      create  app/assets/images/.keep
      create  app/controllers/concerns/.keep
      create  app/models/concerns/.keep
      create  bin
      create  bin/rails
      create  bin/rake
      create  bin/setup
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/cable.yml
      create  config/puma.rb
      create  config/storage.yml
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/assets.rb
      create  config/initializers/content_security_policy.rb
      create  config/initializers/cors.rb
      create  config/initializers/filter_parameter_logging.rb
      create  config/initializers/inflections.rb
      create  config/initializers/new_framework_defaults_7_0.rb
      create  config/initializers/permissions_policy.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/master.key
      append  .gitignore
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  lib
      create  lib/tasks
      create  lib/tasks/.keep
      create  lib/assets
      create  lib/assets/.keep
      create  log
      create  log/.keep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/apple-touch-icon-precomposed.png
      create  public/apple-touch-icon.png
      create  public/favicon.ico
      create  public/robots.txt
      create  tmp
      create  tmp/.keep
      create  tmp/pids
      create  tmp/pids/.keep
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor
      create  vendor/.keep
      create  test/fixtures/files
      create  test/fixtures/files/.keep
      create  test/controllers
      create  test/controllers/.keep
      create  test/mailers
      create  test/mailers/.keep
      create  test/models
      create  test/models/.keep
      create  test/helpers
      create  test/helpers/.keep
      create  test/integration
      create  test/integration/.keep
      create  test/channels/application_cable/connection_test.rb
      create  test/test_helper.rb
      create  test/system
      create  test/system/.keep
      create  test/application_system_test_case.rb
      create  storage
      create  storage/.keep
      create  tmp/storage
      create  tmp/storage/.keep
      remove  config/initializers/cors.rb
      remove  config/initializers/new_framework_defaults_7_0.rb
         run  bundle install
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies.....
Using rake 13.0.6
Using concurrent-ruby 1.1.10
Using minitest 5.15.0
Using builder 3.2.4
Using erubi 1.10.0
Using racc 1.6.0
Using crass 1.0.6
Using rack 2.2.3
Using websocket-extensions 0.1.5
Using digest 3.1.0
Using timeout 0.2.0
Using bundler 2.3.7
Using matrix 0.4.2
Fetching regexp_parser 2.2.1
Fetching public_suffix 4.0.6
Fetching msgpack 1.4.5
Using strscan 3.0.1
Using nio4r 2.5.8
Using io-console 0.5.11
Using method_source 1.0.0
Using thor 1.2.1
Using zeitwerk 2.5.4
Fetching bindex 0.8.1
Fetching childprocess 4.1.0
Using marcel 1.0.2
Using mini_mime 1.1.2
Fetching rubyzip 2.3.2
Fetching sqlite3 1.4.2
Using rexml 3.2.5
Using i18n 1.10.0
Using tzinfo 2.0.4
Using nokogiri 1.13.3 (x86_64-linux)
Using rack-test 1.1.0
Using websocket-driver 0.7.5
Fetching sprockets 4.0.3
Installing bindex 0.8.1 with native extensions
Installing childprocess 4.1.0
Installing regexp_parser 2.2.1
Installing rubyzip 2.3.2
Installing sqlite3 1.4.2 with native extensions
Installing msgpack 1.4.5 with native extensions
Installing sprockets 4.0.3
Installing public_suffix 4.0.6
Fetching net-protocol 0.1.3
Fetching reline 0.3.1
Installing net-protocol 0.1.3
Fetching puma 5.6.4
Using mail 2.7.1
Using activesupport 7.0.2.3
Using loofah 2.16.0
Fetching xpath 3.2.0
Installing reline 0.3.1
Fetching selenium-webdriver 4.1.0
Installing xpath 3.2.0
Fetching addressable 2.8.0
Using net-imap 0.2.3
Using net-pop 0.1.1
Using net-smtp 0.3.1
Using rails-dom-testing 2.0.3
Using globalid 1.0.0
Using activemodel 7.0.2.3
Using irb 1.4.1
Installing selenium-webdriver 4.1.0
Using rails-html-sanitizer 1.4.2
Installing puma 5.6.4 with native extensions
Using activejob 7.0.2.3
Using activerecord 7.0.2.3
Fetching debug 1.5.0
Using actionview 7.0.2.3
Using actionpack 7.0.2.3
Fetching jbuilder 2.11.5
Using actioncable 7.0.2.3
Using activestorage 7.0.2.3
Using actionmailer 7.0.2.3
Using railties 7.0.2.3
Installing addressable 2.8.0
Fetching sprockets-rails 3.4.2
Installing jbuilder 2.11.5
Installing debug 1.5.0 with native extensions
Installing sprockets-rails 3.4.2
Using actionmailbox 7.0.2.3
Using actiontext 7.0.2.3
Fetching importmap-rails 1.0.3
Fetching stimulus-rails 1.0.4
Fetching turbo-rails 1.0.1
Fetching web-console 4.2.0
Installing importmap-rails 1.0.3
Using rails 7.0.2.3
Fetching webdrivers 5.0.0
Installing stimulus-rails 1.0.4
Installing web-console 4.2.0
Installing webdrivers 5.0.0
Installing turbo-rails 1.0.1
Fetching capybara 3.36.0
Installing capybara 3.36.0
Fetching bootsnap 1.11.1
Installing bootsnap 1.11.1 with native extensions
Bundle complete! 15 Gemfile dependencies, 73 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
         run  bundle binstubs bundler
       rails  importmap:install
Add Importmap include tags in application layout
      insert  app/views/layouts/application.html.erb
Create application.js module as entrypoint
      create  app/javascript/application.js
Use vendor/javascript for downloaded pins
      create  vendor/javascript
      create  vendor/javascript/.keep
Ensure JavaScript files are in the Sprocket manifest
      append  app/assets/config/manifest.js
Configure importmap paths in config/importmap.rb
      create  config/importmap.rb
Copying binstub
      create  bin/importmap
       rails  turbo:install stimulus:install
Import Turbo
      append  app/javascript/application.js
Pin Turbo
      append  config/importmap.rb
Run turbo:install:redis to switch on Redis and use it in development for turbo streams
Create controllers directory
      create  app/javascript/controllers
      create  app/javascript/controllers/index.js
      create  app/javascript/controllers/application.js
      create  app/javascript/controllers/hello_controller.js
Import Stimulus controllers
      append  app/javascript/application.js
Pin Stimulus
Appending: pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true"
      append  config/importmap.rb
Appending: pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
      append  config/importmap.rb
Pin all controllers
Appending: pin_all_from "app/javascript/controllers", under: "controllers"
      append  config/importmap.rb

15. 확인

 

레일즈 애플리케이션 폴더 구조 - 제타위키

app/ 애플리케이션 폴더(컨트롤러, 모델, 뷰, 헬퍼, 메일러, 애셋 포함)

zetawiki.com

kim@kim-ThinkPad-X1-Carbon-Gen-8:~/바탕화면/develop/backend/rails$ cd my_app/
kim@kim-ThinkPad-X1-Carbon-Gen-8:~/바탕화면/develop/backend/rails/my_app$ ll
합계 92
drwxrwxr-x 14 kim kim 4096  4월  3 22:51 ./
drwxrwxr-x  3 kim kim 4096  4월  3 22:50 ../
drwxrwxr-x  7 kim kim 4096  4월  3 22:50 .git/
-rw-rw-r--  1 kim kim  246  4월  3 22:50 .gitattributes
-rw-rw-r--  1 kim kim  778  4월  3 22:50 .gitignore
-rw-rw-r--  1 kim kim    6  4월  3 22:50 .ruby-version
-rw-rw-r--  1 kim kim 2284  4월  3 22:50 Gemfile
-rw-rw-r--  1 kim kim 5544  4월  3 22:51 Gemfile.lock
-rw-rw-r--  1 kim kim  374  4월  3 22:50 README.md
-rw-rw-r--  1 kim kim  227  4월  3 22:50 Rakefile
drwxrwxr-x 11 kim kim 4096  4월  3 22:51 app/
drwxr-xr-x  2 kim kim 4096  4월  3 22:51 bin/
drwxrwxr-x  5 kim kim 4096  4월  3 22:51 config/
-rw-rw-r--  1 kim kim  160  4월  3 22:50 config.ru
drwxrwxr-x  2 kim kim 4096  4월  3 22:50 db/
drwxrwxr-x  4 kim kim 4096  4월  3 22:50 lib/
drwxrwxr-x  2 kim kim 4096  4월  3 22:51 log/
drwxrwxr-x  2 kim kim 4096  4월  3 22:50 public/
drwxrwxr-x  2 kim kim 4096  4월  3 22:50 storage/
drwxrwxr-x 10 kim kim 4096  4월  3 22:50 test/
drwxrwxr-x  5 kim kim 4096  4월  3 22:51 tmp/
drwxrwxr-x  3 kim kim 4096  4월  3 22:51 vendor/

16.서버 시작

kim@kim-ThinkPad-X1-Carbon-Gen-8:~/바탕화면/develop/backend/rails/my_app$ rails server -d
=> Booting Puma
=> Rails 7.0.2.3 application starting in development 
=> Run `bin/rails server --help` for more startup options

17. 서버 확인2

rails s
=> Booting Puma
=> Rails 7.0.2.3 application starting in development 
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.4 (ruby 3.1.1-p18) ("Birdie's Version")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 115386
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop

18.확인 2

railsuser@zetawiki:~/my_app$ netstat -tnlp | grep ruby
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      10622/ruby      
tcp6       0      0 ::1:3000                :::*                    LISTEN      10622/ruby
kim@kim-ThinkPad-X1-Carbon-Gen-8:~/바탕화면/develop/backend/rails/my_app$ ps -ef | grep ruby 
kim       115956  114908  0 22:58 pts/0    00:00:00 grep --color=auto ruby

참고자료

 

Ruby - 제타위키

다음 문자열 포함...

zetawiki.com

 

루비 온 레일즈 - 제타위키

다음 문자열 포함...

zetawiki.com

 

우분투 rbenv ruby 설치 - 제타위키

✔️ Ubuntu 14.04, Ruby 2.3.1에서 테스트하였습니다. 1 라이브러리 설치[ | ] root@zetawiki:~# apt-get install libssl-dev libreadline-dev zlib1g-dev Reading package lists... Done Building dependency tree Reading state information... Done Th

zetawiki.com

 

리눅스 rails 설치 - 제타위키

다음 문자열 포함...

zetawiki.com

 

레일즈 애플리케이션 생성 - 제타위키

다음 문자열 포함...

zetawiki.com