소스 검색

Use NVM to install nodejs v8 and yarn

Prevents failure of the installation of jellyfin-web dependencies due
to the NodeJS version in EPEL being too old. v8 might be a little
conservative but is the earliest compatible version. Instead of using
their repo to install Yarn, use the new nvm binary to install Yarn, thus
forcing it to use the updated NodeJS version.
Joshua Boniface 5 년 전
부모
커밋
f20555bf4a
2개의 변경된 파일9개의 추가작업 그리고 5개의 파일을 삭제
  1. 7 5
      deployment/centos-package-x64/Dockerfile
  2. 2 0
      deployment/centos-package-x64/docker-build.sh

+ 7 - 5
deployment/centos-package-x64/Dockerfile

@@ -13,17 +13,19 @@ RUN yum update -y \
  && yum install -y epel-release
 
 # Install build dependencies
-RUN yum install -y @buildsys-build rpmdevtools yum-plugins-core libcurl-devel fontconfig-devel freetype-devel openssl-devel glibc-devel libicu-devel nodejs wget git
+RUN yum install -y @buildsys-build rpmdevtools yum-plugins-core libcurl-devel fontconfig-devel freetype-devel openssl-devel glibc-devel libicu-devel wget git
+
+# Install recent NodeJS and Yarn
+RUN wget -O- https://raw.githubusercontent.com/creationix/nvm/v0.35.0/install.sh | /bin/bash \
+ && source "$HOME/.nvm/nvm.sh" \
+ && nvm install v8 \
+ && npm install -g yarn
 
 # Install DotNET SDK
 RUN rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm \
  && rpmdev-setuptree \
  && yum install -y dotnet-sdk-${SDK_VERSION}
 
-# Install yarn package manager
-RUN wget -q -O /etc/yum.repos.d/yarn.repo https://dl.yarnpkg.com/rpm/yarn.repo \
- && yum install -y yarn
-
 # Create symlinks and directories
 RUN ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh \
  && mkdir -p ${SOURCE_DIR}/SPECS \

+ 2 - 0
deployment/centos-package-x64/docker-build.sh

@@ -18,6 +18,8 @@ pushd ${web_build_dir}
 if [[ -n ${web_branch} ]]; then
     checkout -b origin/${web_branch}
 fi
+source "$HOME/.nvm/nvm.sh"
+nvm use v8
 yarn install
 mkdir -p ${web_target}
 mv dist/* ${web_target}/