라즈베리파이반

라즈베리파이 등 컴퓨터계열 게시판입니다.

제목원격으로 코드 개발 환경 구축하기2022-08-31 05:02
작성자user icon Level 4

88x31.png


우분투 20.04 LTS 환경인 원격 컴퓨터에 코드 개발 환경을 구축하고, VSCode를 통해 원격 환경에서 코드 개발을 해보도록 하겠습니다. 


1. 에디터 설정


1) Remote Development 설치


우선 vscode extentions에서 Remote Development를 설치합니다. Remote - WSL, Remote - SSH, Remote - Containers 등이 함께 설치됩니다.


img01


2) 원격 접속


F1을 누르고 Remote-SSH: Connect to Host...를 클릭합니다.

img03 


+ Add New SSH Host...를 클릭합니다.

img04 

ssh 원격접속을 위한 명령어를 입력합니다. 터미널에서 ssh 연결하는 명령어와 같습니다.
img05 

3) Remote Development 설치

원격환경에 접속하면 필요한 extenstions를 설치해줍니다. extension이 로컬에 설치되어 있지만 원격환경에는 설치되어 있지 않다면 다음과 같이 extenstion 아래에 Install in SSH: server... 라고 뜹니다.
img02 


2. JAVA 환경 설정

1) JDK 설치

apt를 업데이트합니다. win + R을 눌러 터미널을 열고 ssh로 원격 접속 후 apt를 업데이트 해주세요.

$ sudo apt update && sudo apt upgrade -y 


자바 개발을 위해 jdk를 설치합니다.

$ sudo apt install openjdk-11-jdk

$ sudo apt install openjdk-17-jdk 


bashrc를 nano 에디터로 열고 맨 아래에 `JAVA_HOME` 경로를 추가해줍시다.

$ sudo nano ~/.bashrc


...


export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")


/usr/bin/java는 자바 설치시 추가되는 심볼릭 링크이며, /etc/alternatives/java를 가리키고 있습니다. /etc/alternatives/java는 설치된 자바 버전 중 하나를 가리키고 있습니다.


img07


sed "s:bin/java::" 부분은 경로의 마지막 bin/java를 제거하는 명령어입니다.


bashrc의 변경 사항을 적용하기 위해 다음 명령어를 통해 bashrc를 실행해주세요.

$ source ~/.bashrc 



2) 버전 변경


우분투에서 어플리케이션의 버전은 `update-alternatives`를 통해 관리됩니다. 아래 그림처럼 java와 javac의 버전을 `update-alternatives` 명령어를 통해 변경합니다.

img06


해당 명령어는 /etc/alternatives/java가 가리키는 경로를 변경함으로써 버전을 동적으로 변경할 수 있도록 해줍니다.


현재 JDK 버전 확인

$ update-alternatives --list java 


설치된 JDK 버전 확인

$ update-alternatives --list java 


버전 변경

$ sudo update-alternatives --config java

$ sudo update-alternatives --config javac



3) Spring Boot 개발 환경


VSCode에서 Spring Boot 개발환경을 구축해보겠습니다. 우선 다음 Extension을 설치합니다.

  1. Extension Pack for Java
  2. Spring Boot Extension Pack
  3. Lombok Annotations Support for VS Code
  4. Gradle for Java

Ctrl + Shift + P를 눌러 커맨드 팔레트(Command palette)를 열고 Spring initalizr을 입력후 선택합니다. Gradle 또는 Maven 프로젝트를 선택할 수 있습니다.
 
그 후 순서대로 스프링 부트 버전, 프로젝트 언어, 그룹 ID, 아티팩트 ID, 패키징 타입, 자바 버전, 의존성 패키지, 루트 경로를 지정합니다.

프로젝트 선택
img08 

스프링 부트 버전 선택 
img09 

프로젝트 언어 선택 
img10 

그룹ID 설정
img11 

아티팩트 ID 설정
img12

패키징 타입 선택
img13

자바 버전 선택
img14

의존성 패키지 선택
img15

루트 경로 설정
img16 

디버깅 환경에서 원격 포트로 연결하기 위해서는 포트를 설정해주어야 합니다. 터미널창 상단의 PORTS 탭을 클릭하세요.
img17

add를 눌러 포트를 추가하면 로컬에서 원격 포트로 접근이 가능해집니다.
img18 

디버깅 환경에서 뷰를 동적으로 확인하기 위해서는 DevTools 패키지를 설치해야 합니다. Gradle 의존성에 다음 패키지를 추가하세요.

 compileOnly 'org.springframework.boot:spring-boot-devtools'


다음으로 터미널에서 LiveReloadServer 포트를 확인하고 Port에 추가하여 해당 포트를 로컬에서 접근가능하도록 해주세요.

img17


크롬에서 Extension인 RemoteLiveReload를 설치해주세요. 이제 톰캣 포트로 접속하여 html 파일을 수정하면 실시간으로 내용이 반영되는 것을 확인할 수 있습니다.



3. Phython 환경 설정


1) 아나콘다(Anaconda) 설치


아나콘다 아카이브 또는 아나콘다 다운로드 페이지에 접속하여 OS 환경에 맞는 버전의 설치 경로를 확인합니다. 저는 원격 인스턴스가 ARM 64비트 이므로 리눅스 arm64 버전을 설치하도록 하겠습니다.

$ wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-aarch64.sh​​


다운받은 파일을 실행하여 아나콘다를 설치합니다.

$ bash Anaconda3-2022.05-Linux-aarch64.sh 


라이센스 동의 문구가 나오는데 Enter를 계속 눌러 쭉 내려간 다음 마지막에 동의여부를 물으면 yes를 입력하세요.


설치가 완료되면 환경변수를 할 것인지 묻는 문구가 나오는데 yes를 입력하여 환경변수를 등록해주세요. no를 입력했다면 bashrc에 환경변수를 직접 등록해야합니다.

$ sudo nano ~/.bashrc


...


export PATH=$HOME/anaconda3/bin:$PATH


환경변수를 설정하면 쉘에 접속할때마다 콘다의 기본환경이 활성화됩니다. 이를 해제하기 위해 다음 명령어를 입력합니다.

$ conda config --set auto_activate_base false 


bashrc의 변경 사항을 적용하기 위해 다음 명령어를 통해 bashrc를 실행해주세요.

$ source ~/.bashrc 


다음 명령어를 통해 다운받은 인스톨러를 제거해 주세요.

$ $ rm Anaconda3*


2) 가상환경 설정


가상환경(virtualenv)은 여러 파이썬 프로젝트가 하나의 컴퓨터에서 충돌을 일으키지 않고 존재할 수 있도록 해주는 독립된 환경을 말합니다.


각 프로그램별로 완전히 독립적인 가상의 환경을 만들어서 프로그램별로 라이브러리 모듈 등의 버전을 별도로 지정할 수 있습니다.


가상환경은 다음 명령어를 통해 생성할 수 있습니다.

$ conda create -n <가상환경 이름> python=<파이썬 버전> <의존성 패키지 목록> 

$ conda create -n ml python=3.9 anaconda 


가상환경은 다음 명령어를 통해 활성화 할 수 있습니다.

$ conda activate <가상환경 이름>

$ conda activate ml


가상환경의 목록은 다음 명령어를 통해 확인할 수 있습니다.

$ conda env list


가상환경은 다음 명령어를 통해 생성할 수 있습니다.

$ conda env remove -n <가상환경 이름>

$ conda env remove -n ml --all


패키지는 다음 명령어를 통해 설치할 수 있습니다.

$ conda install <패키지 이름>

$ conda install tensorflow


패키지는 다음 명령어를 통해 제거할 수 있습니다.

$ conda remove <패키지 이름>

$ conda remove tensorflow


패키지는 다음 명령어를 통해 업데이트할 수 있습니다.

$ conda update <패키지 이름>

$ conda update tensorflow


전체 패키지의 업데이트는 다음과 같습니다.

$ conda update --all


다양한 conda 환경을 생성하고 패키지를 설치 / 삭제하다 보면 불필요한 캐시가 쌓여 용량에 문제가 발생할 수 있습니다. 이때 다음 명령어를 통해 캐시를 제거할 수 있습니다.

$ conda clean -p


아나콘다의 제거는 설치 디렉토리를 제거해주면 됩니다.

$ rm -rf ~/anaconda3


그런다음 bashrc를 열고 아나콘다 환경변수를 지웁니다.

sudo nano ~/.bashrc


...


(환경변수 제거)


마지막으로 숨겨진 파일을 제거합니다.

rm -rf ~/.condarc ~/.conda ~/.continuum



4. NodeJS 환경 설정


odeJS는 apt를 통해 설치할 수도 있지만 다양한 버전을 관리하기 위해서 NVM(Node Version Manager)을 통해 설치하도록 하겠습니다.


1) NVM 설치


NVM Github로 이동하여 버전을 확인하고 curl이나 wget을 통해 인스톨러를 설치합니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash


설치가 완료되면 bashrc의 변경 사항을 적용하기 위해 다음 명령어를 통해 bashrc를 실행해주세요.

source ~/.bashrc


2) Node.js 설치


NodeJS의 설치는 NVM의 다음 명령어를 통해 설치할 수 있습니다.

nvm install <노드 버전>


$ nvm install node  # 최신 버전 설치

$ nvm install --lts # 최신 LTS 버전 설치

$ nvm install 16.14.0  # 특정 버전 설치

$ nvm install 16  # 특정 버전 16의 최신 릴리즈 설치


설치된 노드이 버전은 NVM의 다음 명령어를 통해 확인 가능합니다.

nvm install <노드 버전>


일시적인 버전의 선택은 다음과 같습니다.

nvm use <노드 버전>


이 경우 터미널이 종료되면 다시 기본 버전으로 돌아갑니다.

#VS Code# Java# Phython# Javascript# spring# NodeJS# anaconda
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)