帅秃顶的博客

  • 隐私政策🤝
  • 关于🏆
  • 友情链接🔗
热爱生活的每一天
帅秃顶的个人博客
  1. 首页
  2. linux
  3. 正文

arch linux 安装idea24.1.7的PKGBUILD

2025年9月19日 57点热度 0人点赞 0条评论

在arch linux的aur中,idea专业版默认是最新版。但当我们想安装旧版本idea时(如24.1.7版本),就需要自己修改aur中的的PKGBUILD,自行打包。或从官方网站中下载官方的tar.gz压缩包,解压后使用。(arch linux中不推荐这种软件包安装方式)。以下是我基于aur中的PKGBUILD,自行修改用于打包idea 24.1.7的PKGBUILD。tips:仅适用于x86_64架构,如需arm架构,请自行修改。

pkgbase=intellij-idea-ultimate-edition
pkgname=(intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre)
pkgver=2024.1.7
pkgrel=1
_buildver=241.19416.15
jbr_ver=21.0.2
jbr_build=aarch64-b346
jbr_minor=3
arch=('x86_64' 'aarch64')
pkgdesc="An intelligent IDE for Java, Groovy and other programming languages with advanced refactoring features intensely focused on developer productivity."
url="https://www.jetbrains.com/idea/"
license=('custom:commercial')
options=(!strip)
source=("https://download-cdn.jetbrains.com/idea/ideaIU-$pkgver.tar.gz"
        "jetbrains-idea.desktop")
source_aarch64=("https://cache-redirector.jetbrains.com/intellij-jbr/jbr-$jbr_ver-linux-$jbr_build.$jbr_minor.tar.gz"
                "https://github.com/JetBrains/intellij-community/raw/master/bin/linux/aarch64/fsnotifier")
sha256sums=('98b661d145d41d123ee29316e35c38b39c3e0f3a34bea5b5f6c378b587dd4172'
            '83af2ba8f9f14275a6684e79d6d4bd9b48cd852c047dacfc81324588fa2ff92b')
sha256sums_aarch64=('1bb237ede4123b425bb3270b2ac7a5a94375ebb4cf6f53dde8084d5637c87c4e'
                    'eb3c61973d34f051dcd3a9ae628a6ee37cd2b24a1394673bb28421a6f39dae29')

prepare() {
  # Extract the JRE from the main pacakge
  if [ -d "$srcdir"/jbr ]; then
    rm -rf "$srcdir"/jbr
  fi

  # https://youtrack.jetbrains.com/articles/IDEA-A-48/JetBrains-IDEs-on-AArch64#linux
  if [ "${CARCH}" == "aarch64" ]; then
    cp -a "$srcdir"/jbr-${jbr_ver}-linux-${jbr_build}.${jbr_minor} "$srcdir"/jbr
    cp -f fsnotifier "$srcdir"/idea-IU-$_buildver/bin/fsnotifier
    chmod +x "$srcdir"/idea-IU-$_buildver/bin/fsnotifier
    rm -rf "$srcdir"/idea-IU-$_buildver/jbr
  else
    mv "$srcdir"/idea-IU-$_buildver/jbr "$srcdir"/jbr
  fi
}

package_intellij-idea-ultimate-edition() {
  backup=("opt/${pkgname}/bin/idea64.vmoptions" "opt/${pkgname}/bin/idea.properties")
  depends=('giflib' 'libxtst' 'libxrender')
  optdepends=(
    'intellij-idea-ultimate-edition-jre: JetBrains custom JRE (Recommended)' 'java-environment: Required if intellij-idea-ultimate-edition-jre is not installed'
    'libdbusmenu-glib: For global menu support'
  )

  cd "$srcdir"

  install -d "$pkgdir"/{opt/$pkgname,usr/bin}
  mv idea-IU-${_buildver}/* "$pkgdir"/opt/$pkgbase

  # https://youtrack.jetbrains.com/issue/IDEA-185828
  chmod +x "$pkgdir"/opt/$pkgbase/plugins/maven/lib/maven3/bin/mvn

  ln -s /opt/$pkgname/bin/idea.sh "$pkgdir"/usr/bin/$pkgname
  install -D -m644 "$srcdir"/jetbrains-idea.desktop "$pkgdir"/usr/share/applications/jetbrains-idea.desktop
  install -D -m644 "$pkgdir"/opt/$pkgbase/bin/idea.svg "$pkgdir"/usr/share/pixmaps/"$pkgname".svg

  # workaround FS#40934
  sed -i 's|lcd|on|'  "$pkgdir"/opt/$pkgname/bin/*.vmoptions
}

package_intellij-idea-ultimate-edition-jre() {
  url="https://github.com/JetBrains/JetBrainsRuntime"
  install -d -m 755 "$pkgdir"/opt/$pkgbase
  mv "$srcdir"/jbr "$pkgdir"/opt/$pkgbase
}

打开终端,使用 yay -Syu intellij-idea-ultimate-edition 获取最新版的PKGBUILD,随后打开该文件并用以上内容替换,保存。在该PKGBUILD文件目录中执行makepkg打包,完成后使用

pacman -U intellij-idea-ultimate-edition-2024.1.7-1-x86_64.pkg.tar.zst intellij-idea-ultimate-edition-jre-2024.1.7-1-x86_64.pkg.tar.zst

安装即可。

如果觉得idea24.1.7自带的jre体积过大,可以不安装。idea会使用系统默认的jdk启动,可能会失去一些特性,如合并标题栏和标签页。如果觉得jre的版本太低,可以使用以下PKGBUILD打包新版的idea jre。

pkgbase=intellij-idea-ultimate-edition
pkgname=intellij-idea-ultimate-edition-jre
pkgrel=1
pkgver=21.0.7
_buildver=b1038.54
pkgdesc="The Latest JBR For Intellij Idea Ultimate Edition"
arch=('x86_64')
url="https://github.com/JetBrains/JetBrainsRuntime"
license=("GPL-2.0-only")
provides=("$pkgname")
conflicts=("$pkgname")

source=("https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-$pkgver-linux-x64-$_buildver.tar.gz")
sha512sums=('2693b7079a3526fc7e042cd5ddd708bf3ccdd7d55c7dac02c7e417ad175e84a261f015cf3a34f63e4586aac89f7e6fa447076c3c670a1442dc7d5f515f9554f3')

package() {
	url="https://github.com/JetBrains/JetBrainsRuntime"
	depends=("intellij-idea-ultimate-edition")
	install -d -m 755 "$pkgdir"/opt/$pkgbase/jbr
	mv "$srcdir"/jbr_jcef-$pkgver-linux-x64-$_buildver/* "$pkgdir"/opt/$pkgbase/jbr
}
标签: arch linux idea linux PKGBUILD
最后更新:2025年9月19日

帅秃顶

告别的年代,分开的理由,终不须诉说出口

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
帅秃顶 的头像
最近评论
一位 WordPress 评论者 发布于 7 个月前(04月01日) 您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravat...

COPYRIGHT © 2025 pigpigpigGo. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang