티스토리 뷰

해당 글은 https://blog.naver.com/kbs4674/221210693628 로 부터 게시글이 이전되었습니다.

 


목차

1. Rubymine 설치법 [클릭]

2. Option : AWS EC2 서버 ↔ 프로젝트 Live Synchronize 연동하기 (SFTP 연동) [클릭]

3. 이슈 : Rubymine 터미널에 리눅스 명령어가 입력이 안됩니다. [클릭]

4. 이슈 : 서버 종료가 안됩니다. [클릭]

5. 이슈 : rails 5.2.3 / ruby 2.6 에서 sqlite3 다운로드가 안되는 문제 [클릭]

6. 이슈 : 헤로쿠 명령어가 안먹힙니다. [클릭]

7. Tip : 로컬IDE를 클라우드IDE처럼 사용하기 [클릭]

 


 

이 글은 Ruby On Rails를 위해 작성됩니다.

 

C9이 AWS과 병합되면서 C9의 회원가입이 막히게 되었습니다. (단 기존 유저들은 사용 가능)

AWS와 병합이 된 것은 AWS에 대한 더욱 다양한 기능을 사용할 수 있다보니 장점이 될 수도 있으나, AWS 계정이 한 번 잘못되어 털리면 100달러 이상의 금액이 청구될 수 있는 엄청난 주의사항이 있습니다..

 

이번엔 IDE 대안책 중 하나인 Jetbrain에 대해 소개하고자 합니다.

 

https://www.jetbrains.com/ruby/

 

JetBrain은 C언어를 배우신 분이라면 잘 알고 있는 'Visual Studio' 프로그램과 같은 IDE를 제공해주는 곳입니다.

하지만 JetBrain에 있어 한 가지 버거운 점은 라이센스비용을 비싸게 받는다는 점입니다.

하지만 학생이라면?? 무료입니다! +_+

 

심지어 졸업을 했어도 웹메일만 있으면 됩니다.

 

가난한 학생에게 있어 Jetbrain은 버거울 수도 있다.. 그러나 학교 웹 메일이 있다면?..

로컬(윈도우10) 기반으로 돌아가는 IDE로 처음에 시작할 때 많은 어려움이 있었지만 결과적으로는.. 잘 실행됐습니다!

 

 참고  윈도우 암걸림 주의..

1) Windows10 환경에서 Ruby 관련 명령어를 실행 시.. 너무 암이 걸릴 정도로 느립니다. (무슨 서버 키는데 30초 씩이나 걸려..)

2) 반면에, 맥 OS에서는 너무나도 잘 돌아갑니다.

3) Windows10 환경에서는 일부 버그이슈가 있습니다. (sqlite3 등; 이에 대한 해결법은 해당 본문에 남겼습니다.)

 

 

  • 제트브레인 설치

 참고  윈도우10 기준으로 설명이 진행됩니다.

 

1. Jetbrain 사이트에 가서 회원가입을 합니다.

Apply for a free student or teacher license 클릭

회원가입을 마치면 Apply for a free student or teacher license 문구가 보이는데,

문구를 클릭해서 학생인증을 받습니다.

학교 웹메일 인증

아래 사진과 같이 최종 확인 메세지를 받으면 회원 가입 및 학생인증은 끝입니다.

 

2. https://account.jetbrains.com/licenses 로 이동하셔서 라이센스 동의를 합니다.

 

3. 학교 웹메일 인증을 받으셨다면, 이제 Ruby Mines 파일을 다운로드 및 설치하세요.

 

4. Ruby 파일을 다운로드 하세요.

https://rubyinstaller.org/downloads/ 사이트로 가셔서 다운로드 받으시면 됩니다.

저 같은 경우는 19.10.15 기준 Windows 환경에서 Ruby 2.6.5 을 받았습니다.

자신의 컴퓨터 Bit 환경에 맞게 하나만 설치해주세요.

설치 중간과정에 있어, 저는 설치 전 화면에선 따로 건든건 없고, 설치 후에는 Run 'ridk install' ... 추가설치에 대해선 무시했습니다.

 

5. Ruby 설치가 끝났다면, 간단히 버전 확인을 해볼까요?

cmd를 키고 다음 명령어를 입력해보세요!

ruby -v

 

6. 이어서 Gem을 설치해 보겠습니다.

cmd창에서 다음 명령어를 입력해서 Rails을 설치합니다.

gem install rails --version=5.2.3

 참고  본 예제에서는 5.2.3 버전 설치를 예시로 합니다.

 

 

7. Gem 프로그램을 깔았음으로서, 이제 드디어 Ruby와 Ruby on Rails 명령어를 기본적으로 사용하실 수 있습니다.

그리고 마지막으로 점검 겸 해서 아래 명령어를 입력해서 Rails의 버전을 확인해볼까요?

rails -v

그리고 위 cmd창은 아직 닫지마세요! 바로 다음 과정에서 또 써먹어야해요!

 

8. 바로 이어서 설명하겠습니다.

https://nodejs.org/ko/

사이트로 가셔서 node.js를 설치해주세요. node.js를 설치하셨다면,

4번 과정 때 사용한 cmd로 돌아간 뒤,

echo %Path%

위 명령어를 꼭 입력해주세요.

 

9. 컴퓨터를 한번 껏다 켜주세요. (꼭)

 

10. JetBrain 프로그램을 킵니다.

로그인을 하면 프로그램이 켜집니다.

더불어 설치 중간에 선택하는 옵션인 윈도우 비트도 잘 선택하시기 바랍니다.

OS Bit 확인 잘하세요!

 

설치가 끝나고 RubyMine을 실행하면 자기 취향에 맞는 초기설정을 하는게 있는데,

저는 맨 처음 테마(White / Black 테마) 설정에서 Black테마로 설정한 것 빼고는 전부 Skip 했습니다.

기초 셋팅이 끝나면 프로젝트 파일 열기(Create New Project) 및 새로 만들기(Open)가 나옵니다.

처음이니까 새로 만들기(Open)로 선택하겠습니다.

 

Create New Project를 선택 후, 좌측메뉴에 보이는 Application을 선택합니다.

저희는 Ruby가 아닌 Ruby를 기반으로 쓰는 Ruby on Rails 프로젝트를 생성해낼 겁니다.

Ruby SDK의 를 클릭해서 Add Ruby SDK... 를 클릭 후,

 

아까 4번 과정에서 다운로드 했던 Ruby+Rails의 디렉토리 위치 속에 있는 ruby.exe 파일을 찾아내고,

OK를 클릭합니다.

 

ruby.exe 파일은 64비트 컴퓨터 기준 보통 C드라이버 → Ruby26-x64 → bin 폴더에 있습니다.

C:\Ruby26-x64\bin\ruby.exe

ruby.exe를 선택해내면 로딩창이 자동으로 Ruby 및 Rails의 버전을 탐색해내고

 

이제 Create 버튼이 활성화 되었습니다!

Create 버튼을 눌러서 프로젝트를 만들어주세요.

프로젝트를 만들면 자동으로 모든 기본셋팅에 대해 설치가 됩니다.

(새 프로젝트를 만들어 주는 명령어인 rails new 명령어가 자동으로 입력된다고 보면 됩니다.)

혹시 설치하면서 sqlite 설치 과정 중 문제가 생길 경우

여기를 클릭 해서 참고해주세요.

 

11. 이제 다왔습니다..

마지막으로 명령어를 치기 위한 터미널을 켜보겠습니다.

 

터미널은 간단하게도 하단(위 사진에서 초록색 네모가 가리키는 것)에 보이는 Terminal 버튼을 누르시면 됩니다.

 

자, 그럼 마지막으로 서버를 키는 명령어를 터미널에 입력해보겠습니다.

rails s -b 0.0.0.0 -p 80

 

 

서버가 돌아가는게 보이고, 인터넷 주소창에 http://localhost 을 입력하면

반가운 사람들이 눈에 보입니다!

 

 

  • 추가 : GitHub 프로젝트 가져오기(clone)

RubyMine에서는 Github 연동에 대해서도 지원을 해줍니다!

1. VCS - Checkout from Version Control - GitHub 로 이동합니다.

 

2. Clone 할 Git 저장소 주소를 적어주세요.

 

3. 끝입니다!

 

 

 
  • Option : AWS EC2 서버 ↔ 프로젝트 Live Synchronize 연동하기 (SFTP 연동)

Rubymine과 AWS EC2 서버와 실시간 연동되며 코딩중

 

AWS EC2에 배포되어있는 Rails 프로젝트와 Local PC에 있는 Rails 프로젝트와 서로 Synchronize Remote 되는 법에 대해 소개합니다.

 참고 

  • 이번 소개에는 Github Repository에 사전에 자료가 있어야합니다.
  • AWS EC2의 자세한 지식은 생략합니다.

 

1. AWS EC2에 서버를 준비해주세요.

 

2. 미리 AWS EC2 서버에 Ruby on Rails Project 프로젝트를 받아놔주세요.

## /home/ubuntu
git clone [Github Repository 주소]

 

3. Rubymine에서 Ruby on Rails Project가 있는 프로젝트를 열어주세요.

 참고  미리 아래와 같이 프로젝트 구성파일들이 있는 상태로 해주세요.

 

4. Rubymine 상단 메뉴에서 [Tools-Deployment - Configuration] 을 클릭해주세요.

 

5. 상단의 + 아이콘을 클릭 후, SFTP 을 클릭해주세요.

 

6. 서버 이름을 적어주세요.

그냥 애칭을 정하는것이니, 아무렇게나 적어주면 됩니다.

 

7. 연동할 서버에 대한 정보를 적어냅니다.

 참고1  연두색 형광펜으로 칠해진 곳이 정보를 적어내야 하는 곳입니다.

 참고2  Root path는 Remote 서버를 기준으로, Rails 프로젝트 위치를 가리키면 됩니다.

 참고3  [AWS EC2 OS에 따른 User name] linux : ec2-user / ubuntu : ubuntu

 참고4  Private Key 로그인 방식에 있어 passpharse 는 비어놔도 됩니다.

 

중간에 Test Connection 버튼도 눌러봐서 연동이 잘 됐는지 확인해보세요.

 

8. 상단의 Mapping을 이동 후, 정보가 잘 입력되어 있는지 확인합니다.

 참고  Deployment는 빈 칸이 있어선 안됩니다.

최소한 루트 디렉토리를 표시하는 / 라는 글자가 있어야 합니다.

 

9. 모든 정보를 다 입력하셨다면  OK  버튼을 클릭해주세요.

 

10. 다시 Rubymine 상단 메뉴에서 [Tools - Deployment]로 이동합니다.

 

11. 이번엔 Automatic Upload 메뉴를 클릭해주세요.

 

12. 터미널도 SSH 연동을 해보겠습니다.

[Tools - Start SSH session] 으로 이동해주세요.

 

13. Start SSH session을 클릭하면 Edit credential 라고 적힌 박스가 보일텐데 해당 버튼을 클릭합니다.

 

14. SSH 통신을 할 Host 정보를 입력해주세요.

 참고  Private Key 로그인 방식에 있어 passpharse 는 비어놔도 됩니다.

 

15. 프로젝트 하단에 SSH 연동이 된 터미널이 새로 생긴게 확인됩니다!

 

16. 이제 Remote Synchronize 연동이 끝났습니다.

한번 제대로 되었는지 테스트를 해보겠습니다.

 

1) Rubymine 프로젝트에서 새로운 파일을 하나 생성해주세요.

저는 kitty.txt 라는 파일을 생성하겠습니다.

 

2) kitty.txt 파일에 글자를 입력해주세요.

 

3) Putty 혹은 cmd를 킵니다.

그리고 AWS EC2와 Remote 연결을 해주세요.

 

4) Rails 프로젝트가 있는 위치로 이동 후,

ls

ls 명령어를 통해 아까 만들었던 kitty.txt 파일이 있는지 확인해보세요!

 

kitty.txt 파일은 Local PC(Rubymine)에서 만들어진 파일인데, AWS EC2에도 보여지는게 확인됩니다!

 

5) 더 나아가서, 내용도 잘 입력되었는지 확인해보세요 :D

 

6) 더더 나아가서, Rubymine에 kitty.txt에 입력되는 글이 실시간으로 AWS EC2에도 바로 적용되는지 확인해보세요 :D

 


 참고  실시간 수정 반영이 안될경우

간혹 Rubymine에서 수정된 파일이 Remote 서버에 반영이 안될 때가 있습니다.

그런데 에러메세지 중 Permission Denied 가 신경쓰입니다.

 

1. Remote 서버의 파일 권한을 살펴봤습니다.

해당 문제의 원인은 파일 소유자(Owner)가 root이기 때문입니다.

(생각해보니 저 파일을 생성할 때 root 계정에서 파일을 생성했었습니다.)

 

해결 방법은 파일 소유자를 일반유저로 바꿔주면 됩니다.

## ubuntu 기준
# chown [소유자] [파일명]
chown 1000 rails_admin.rb


## 레일즈 프로젝트 자체를 전부 소유자를 바꾸고 싶다면
## Project 폴더 안에는 Rails를 구성하는 파일들이 담겨져 있다.
# sudo chown -R [소유자] [프로젝트 폴더]
sudo chown -R ubuntu project

저는 위와같이 명령어를 입력해서 해결했습니다.

 

2. Remote 서버와 Synchronize 작업을 합니다.

1) Rubymine 프로젝트 내에서 루트폴더를 클릭합니다.

 

2) [Deployment - Sync with Deployed to (Project 이름)] 으로 이동합니다.

 

3) 빨간 네모()을 클릭 후 내 로컬 프로젝트와 Remote서버와 파일을 비교합니다.

아래 사진은 Remote서버와 파일을 비교했을 때, 로컬 프로젝트에 없는 파일 혹은 내용들에 대해 동기화 할 것인지 확인을 하는 작업입니다.

 

4) 확인 후 이상이 없을 시 동기화(파일 다운로드)를 시작합니다.

하늘색 네모는 선택된 대상 파일 하나만, 빨간색 네모는 전체 파일에 대해 한번에 동기화 작업이 진행됩니다.

 

5) 혹시 동기화 작업에 있어, 내 파일 기준으로 하거나 삭제를 해야 할 경우

작업이 이루어지는 파일에 우측마우스를 클릭해서 다운로드 대신 어떤 작업을 할지 설정해주세요.

 

 

  • 이슈 : uglifier 오류

RubyMine 설치에 대해 설명하면서 5번 과정에서 node.js를 설치하고, echo %Path%를 입력하고, 컴퓨터를 껏다 키라고 했었는데요, 이 부분에 대해 설명드리겠습니다.

설치되는 Gem 중, uglifier 가 있습니다.

이 Gem은 node.js 기반으로 수행되는 Gem이다 보니 node.js가 없었더라면, 저희가 저 과정들을 안거쳤더라면 프로젝트를 만들 때 위와같은 에러를 뿜었을 겁니다.

 

 

  • 이슈 : 터미널에 한글이 깨집니다.

 

Jetbrain에서 제공하는 대다수의 IDE(Rubymine 포함)가 이상하게 한글이 깨지는 현상이 나타납니다.

해당 해결 방법은 인코딩 언어를 바꿔주면 됩니다.

 

1. IDE 상단에 보이는 Help 메뉴를 킨 후,  Help → Edit Custom VM Options  을 열람합니다.

 

2. 맨 아랫줄에 다음 내용을 추가해주세요.

-Dfile.encoding=UTF-8

 

 3. 다시 제트브레인 IDE(Rubymine)를 껏다 키면 에러가 해결된게 확인됩니다!

 

 

 

  • 이슈 : Rubymine 터미널에 리눅스 명령어가 입력이 안됩니다.

Rubymine에서 지원되는 터미널에서 ls, rm 등 일부 리눅스 명령어가 작동이 안되는 문제점을 확인할 수 있는데, 이는 해당 터미널이 윈도우(cmd) 기반이기 때문입니다.

 

터미널에서 리눅스 명령어를 입력하길 원한다면, 다음 프로그램을 설치해 주세요.

https://github.com/bmatzelle/gow/releases

해당 위 사이트로 이동 후,

GOW-(ver).exe 파일을 받고 실행을 시키면 됩니다 :)

Gow 파일을 설치 후, Rubymine을 껏다 켜주세요!

 

 

 
  • 이슈 : 서버 종료가 안됩니다.
rails s -b 0.0.0.0 -p 80

서버가 켜진 상태에서 서버를 끈 것 같음에도 불구하고,

위 메세지가 뜨면서 서버가 안켜지는 증상을 겪었었습니다..

 

간단하게 생각해보면 지금 켜져있는 서버 프로세스를 죽이면 되며,

제 기준으로  [Rails 프로젝트]/tmp/pids/  위치에 있는  server.pid  파일을 지웠습니다.

위 명령어를 치니, 서버를 키는 명령어가 다시 먹혔습니다.

 

 

 
  • 이슈 : rails 5.2.3 / ruby 2.6 에서 sqlite3 다운로드가 안되는 문제

Rails 5.2 + Ruby 2.6 버전에서 rails new 후, bundle install을 하면 위와같은 에러를 겪게 되었습니다.

위 에러를 해결하는 방법은 Gemfile에서 다음 Gem을 추가입력 및 수정해주면 됩니다.

gem 'sqlite3-static' # Ruby 버전에 맞는 sqlite3을 설치해줍니다.
gem 'sqlite3', '< 1.4' # 19. 7. 7 기준으로 sqlite3을 설치 시 1.4.1 버전의 Gem이 설치가 되는데 버전이 윈도우랑 안맞아서 문제가 발생하게 됩니다.

 

 

  • 이슈 : 헤로쿠 명령어가 안먹힙니다.

헤로쿠 명령어는 Heroku CLI를 지원하는 프로그램을 설치해야 작동이 됩니다.

Rubymine 터미널에서 다음 명령어를 입력해주세요.

npm install -g heroku

 참고  Nodejs 기준 설치 명령어 입니다.

 

 
  • 로컬IDE를 클라우드IDE처럼 사용하기

제트브레인은 원래 로컬기반 IDE이다보니, 타 PC에서 프로젝트 열람이 안되는 문제점이 있습니다.

하지만 저는 조금 꾀를 부려서 제트브레인 프로젝트를 클라우드로 접속해서 코딩을 하고 있습니다.

OneDrive(클라우드 서버) 내에 있는 Ruby on Rails 프로젝트

원드라이브는 대학 웹메일 인증을 하면 1000GB 공간의 클라우드를 무료로 제공합니다.

용량을 넉넉히 구하고, OneDrive 내에 레일즈 프로젝트를 넣은 뒤, Rubymine이 설치된 노트북/컴퓨터에서 언제든 프로젝트에 접근해서 코딩을 할 수 있습니다.

 


 

Jetbrain : RubyMine에 대한 총 평가

 

장점

1. 언제든 컴퓨터를 통해 작업을 할 수 있다.

2. Ruby를 지원해주는 몇 안되는 IDE 이다.

3. Github 연동을 지원해준다.

 

단점

1. 학생 신분이 아니면 해당 IDE를 쓰는데 부담이 생길 수 있다.

2. 로컬 기반이다 보니 컴퓨터에 node.js, jdk(java) 등이 안깔려 있으면 기능 제약이 생긴다.

3. 로컬 기반이다 보니 컴퓨터 환경에 따라 속도 성능차이가 날 수 있다.

 

 

이상 Jetbrain : RubyMine 이었습니다!^^

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함