[Flutter] GUI 환경이 없는 리눅스 서버에서 Flutter 개발 환경 구축하기

RGLie,·2022년 8월 16일
2
post-thumbnail

동기

현재 나는 나의 개인 pc를 사용할 수 없고 공용 pc 밖에 사용하지 못하는 환경에 놓여져 있다. 공용 pc는 재부팅시 디스크가 바로 포맷 되어버리기에 여러 프로그램을 설치하며 사용하는 것이 현실적으로 불가능하다. 나는 이런 상황에서 Flutter 개발을 하기 위해 여러 방법을 찾아봤고 환경 구축을 성공했다. 혹시 나와 비슷한 상황에 놓인 Flutter 개발자들에게 이 글이 도움되길 바란다.

출처

기본적으로 내가 찾아봤던 포스트들이다. 그러나 각각 저마다 하는 말이 달랐고 한두가지씩 빠진 부분들이 있어 추가하여 정리 하고자 한다.

Linux Server

나는 Google Cloud Platform을 통해서 서버를 열었다.
code-server + gcp
우분투의 버전은 22.04 LTS로 하였고 디스크 크기는 64GB로 설정하였다.
어차피 무료 크레딧만 사용할것이기에 아무렇게 설정해도 상관 없다.

Install Homebrew

가장 먼저 해야할 일은 간편 설치 도구인 brew를 설치하는 것이다.

$ sudo apt-get install build-essential curl file git
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

그리고 brew의 PATH를 설정해주어야한다.
만약 나와 같은 환경이라면 /home/{account name}/ 폴더에 .bashrc 파일이 있을 것이다.
vim 편집기로 .bashrc 파일 가장 하단에 다음과 같이 추가해준다.

$ vim .bashrc
export PATH="$PATH:/home/linuxbrew/.linuxbrew/bin"
export MANPATH="$MANPATH:/home/linuxbrew/.linuxbrew/share/man"
export INFOPATH="$INFOPATH:/home/linuxbrew/.linuxbrew/share/info"
$ source .bashrc

위 명령어를 쳐서 쉘을 다시 로드한다.

Install Openjdk

$ sudo apt-get install openjdk-8-jdk

open jdk를 설치해준다.
아마 추가적인 변수 설정없이 동작할것이다.

$ java

위 명령어를 쳐서 제대로 설치가 되었는지 확인한다.

Install Flutter SDK

$ sudo snap install flutter --classic

위의 명령어를 쳐서 Flutter SDK를 쉽게 다운로드 한다.
나와 같은 환경이라면 다음 폴더에 Flutter SDK가 설치되어 있을 것이다.
/home/{account name}/snap/flutter/common/flutter
다음으로 환경변수를 추가해준다.
/home/{account name}/.bashrc에 다음을 추가한다.

export PATH="$PATH:/home/<your account name>/snap/flutter/common/flutter/bin"
$ source .bashrc

위 명령어를 쳐서 쉘을 다시 로드한다.

$ flutter sdk-path

로 설정이 완료되었는지 확인한다.

Install cmdline tools

메인 작업 디렉토리에 다음 구조의 폴더를 만들어준다.

  • Android
    • cmdline-tools
      • latest

그후 latest 폴더로 작업 디렉토리를 이동한다.
Cmdline-Tools
위의 링크에서 리눅스용 cmdline-tools.zip 파일을 다운받는다.
다운받은 파일을 본인의 Dropbox에 업로드하여 다운로드 링크를 만들어준다.
Dropbox링크 뒤에 ?dl=0 이라는 인자가 있는데 이부분을 없애주어야한다.
리눅스 쉘이 ?문자를 인지하지못하기 때문이다.
그럼 생성된 링크를 복사하여 다음과 같이 친다.

$ wget <Link>
$ unzip <filename.zip>


위 사진과 같은 구조가 만들어졌으면 성공이다.

/home/{account name}/.bashrc에 다음을 추가한다.

export ANDROID_HOME="/home/<your account name>/Android"
export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin/"
export PATH="$PATH:$ANDROID_HOME/emulator/"
export PATH="$PATH:$ANDROID_HOME/platform-tools/"
$ source .bashrc

위 명령어를 쳐서 쉘을 다시 로드한다.

$ sdkmanager --list

명령어를 통해 정확히 추가되었는지 확인한다.

Install Packages

$ sdkmanager --install "platform-tools" "platforms;android-29" "build-tools;29.0.2" "emulator" "platforms;android-28" "build-tools;28.0.3"

Flutter에서 필요로하는 SDK 패키지들이다. 위 명령어를 입력하면 바로 한번에 다운로드 된다.

Flutter Android SDK Path

Flutter에서 Android SDK의 경로를 찾을수 있게 설정해주어야한다.

$ flutter config --android-sdk /home/<your account name>/Android

Flutter Licenses

$ flutter doctor --android-licenses

모두 y 를 눌러주면 된다.

Install Chrome

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb

Install Android Studio

어차피 GUI환경이 없어서 사용하진 못하지만 설치만 해준다.

$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
$ sudo add-apt-repository ppa:maarten-fonville/android-studio

결론

아마 위의 과정을 모두 따라했다면 문제없이 실행될것이다.

만약 위의 과정을 따라했지만 오류가 생긴다면 커맨트를 달아주길 바란다.
혹시 나도 겪었지만 잊어버리고 안올린 것일수도 있다.

profile
Flutter Programmer (github: RGLie)

1개의 댓글

comment-user-thumbnail
2023년 9월 12일

안녕하세요~~ 좋은 글 감사합니다!!
글 내용을 보면서 진행하고 있었는데 안드로이드 스튜디오를 설치하는 부분에서
sudo dpkg --add-architecture i386 명령어를 통해서 32비트 아키텍쳐를 추가하였고
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 해당 명령어로 패키지를 설치했습니다. 다음 sudo add-apt-repository ppa:maarten-fonville/android-studio 이 과정까지 진행했는데 x Unable to determine Android Studio Version. 이런 에러가 발생하네요.. 우분투 서버와 같은 cli 환경에서 안드로이드 스튜디오를 설치할 수 있는 다른 방법이 있나 찾아보고 있는데 찾지를 못해서 질문 드립니다..

답글 달기