환경은 window wsl ubuntu 2022.2 버전 기준으로 작성함
cent os 환경에서 installerZip 생성 권장
이퀄라 버전마다 java, nvm, sbt 버전 전부 다르니 확인하여 환경 설정
이퀄라 버전 | sbt | nvm(node) | java |
---|---|---|---|
2021.1 | 1.1.6 | 14.16.1 | 1.8.0_382 (sdk java 8.0.382-tem) |
2020.1 추정 | 1.1.1 | 12.18.3 | 1.8.0_382 (sdk java 8.0.382-tem) |
2022.1.0 | 1.5.6 | 14.21.3 | |
(npm 8.1.4) | 1.8.0_382 (sdk java 8.0.382-tem) |
rm -rf ~/.sbt/ rm -rf ~/.ivy2/
cd sbt/bin
sudo mv sbt /usr/local/bin/ sudo mv sbt-launch.jar /usr/local/bin/ sudo mv sbt-launch-lib.bash /usr/local/bin/
sbt sbtVersion`
이퀄라 버전2023.1은 jdk11 이상만 지원 한다고 함
# 설치할 java 조회
sdk list java
# 설치
sdk install [java_name]
# 설치 시 자동으로 path 지정, java 버전 확인
java -version
# 설치 된 sdk java 삭제
sdk uninstall [java_name]
# java version 변경
sdk use java [java_name] - /home/[user_name]/.sdkman/candidates/java 파일 위치
# 최신버전
npm install -g npm@latest
# 버전 지정 package.json 파일 내 engines에 정의된 버전 확인
npm install -g npm@[version] -- ex npm install -g npm@8.1.4
#시스템 업데이트
sudo apt update
#curl 설치
sudo apt install curl
#SDKMAN 설치
curl -s "<https://get.sdkman.io>" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
#Java 설치 (Temurin OpenJDK 11)
sdk install java 11.0.17-tem
#NVM 설치
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh> | bash
source ~/.bashrc # 또는 ~/.zshrc (zsh 사용자의 경우)
#NodeJS 및 NPM 설치 (openEQUELLA의 .nvmrc 안에 정의된 버전에 맞춰 자동 설치)
cd ~/openEQUELLA
nvm install
#PostgreSQL 설치 (옵션 1: 패키지 설치)
sudo apt install postgresql
#PostgreSQL 설정 (옵션 1)
sudo -i -u postgres
psql
CREATE DATABASE equella;
CREATE USER euqellauser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE "equella" to euqellauser;
\\q
exit
#build-essential 설치
sudo apt-get install build-essential
#Image Magick 설치
sudo apt install imagemagick
#FFmpeg 설치
sudo apt install ffmpeg
#이퀄라 폴더로 이동
cd ~/openEquella
#Node.js 및 NPM 버전 설정
nvm use
# node_modules 생성 (equella\\Source\\Plugins\\Core\\com.equella.core or \\swaggerui)
# com.equella.core 안쪽에도 install 해주는게 좋음
npm install
#git pre-commit 훅 설정 // 이퀄라 폴더 권한 필요(chmod -R 777 /equella)
npm ci
#sbt 버전 확인 (이퀄라 폴더 안 sbt 리소스 버전 과 출력 되는 버전이 다름 출력된 버전으로 변경)
# sbt java.util.NoSuchElementException: None.get Error 발생 시
# <https://github.com/openequella/openEQUELLA/issues/4462> 이슈 참고
sbt sbtVersion
--- sbt 진입 또는 sbt 앞에 붙여서 입력 ---
#환경 구성 파일 생성
sbt prepareDevConfig
#플러그인 라이브럴리 jar파일 업데이트
sbt jpfWriteDevJars
#non-java 리소스 생성
# 오류 내역
# ~/js 및 purescript 설치 오류 시
# cd equella\\Source\\Plugins\\Core\\com.equella.core\\js 해당 위치서 npm install
# install 진행 중 stack 오류 발생 시
# sudo apt-get install libtinfo5 설치
# curl -sSL <https://get.haskellstack.org/> | sh 설치 진행
# Stack 설치중 path 오류 시
# cd ~
# nano .bashrc 진입
# export PATH="$HOME/.local/bin:$PATH" 최하단에 작성 및 저장
# 다시 \\js 위치로 가서 npm install 하여 package.json 정의된 것들 다시 설치
# non-zero 오류 - java 버전 확인 또는 컴파일 오류
sbt resources
#배포 패키지 빌드 (equella\\Installer\\target 안에 zip 파일 생성)
sbt installerZip