Package Details: claude-desktop 1.0.0-9

Git Clone URL: https://aur.archlinux.org/claude-desktop.git (read-only, click to copy)
Package Base: claude-desktop
Description: An Electron-based desktop application for Claude2(unofficial).Use system-wide electron.
Upstream URL: https://github.com/Karenina-na/Claude-Desktop
Keywords: ai claude electron typescript vite vue3
Licenses: MIT
Conflicts: claude-desktop
Submitter: zxp19821005
Maintainer: zxp19821005
Last Packager: zxp19821005
Votes: 0
Popularity: 0.000000
First Submitted: 2023-08-29 05:52 (UTC)
Last Updated: 2025-02-24 04:33 (UTC)

Dependencies (5)

Required by (0)

Sources (2)

Latest Comments

zxp19821005 commented on 2025-02-26 01:50 (UTC)

@bethany7 I've used nvm to use nodejs-lts-hydrogen.Please check your nvm, or reinstall it.

bethany7 commented on 2025-02-25 18:49 (UTC) (edited on 2025-02-25 18:50 (UTC) by bethany7)

Install fails with:

-> No AUR package found for nodejs-lts-hydrogen
-> could not find all required packages: nodejs-lts-hydrogen

It appears that lts-hydrogen is no longer present in the AUR.

lkxe commented on 2025-02-22 21:15 (UTC) (edited on 2025-02-22 21:16 (UTC) by lkxe)

If you want to use Bun instead of Node to build the application (in my case nodejs-lts-hydrogen conflicted with my current node installation), you can use my updated PKGBUILD instead, the fix with the directory is already resolved:

# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
pkgname=claude-desktop
_pkgname=Claude-Desktop
pkgver=1.0.0
_electronversion=32
_nodeversion=20
pkgrel=8
pkgdesc="An Electron-based desktop application for Claude2(unofficial).Use system-wide electron."
arch=('any')
url="https://github.com/Karenina-na/Claude-Desktop"
license=('MIT')
conflicts=("${pkgname}")
depends=(
    "electron${_electronversion}"
)
makedepends=(
    'gendesk'
    'bun'
    'nvm'
    'curl'
)
source=(
    "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
    "${pkgname}.sh"
)
sha256sums=('32b479fd3df2bf976e23d264a4f4ac011d15fadf73cda6b00ab9a0b86faaf1e2'
            'f38be1d4f732d1dcf1b9705431de6f3eaae0e1616e81bc4f9cf7b566416545ca')
_ensure_local_nvm() {
    local NVM_DIR="${srcdir}/.nvm"
    source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
    nvm install "${_nodeversion}"
    nvm use "${_nodeversion}"
}
build() {
    sed -e "
        s/@electronversion@/${_electronversion}/g
        s/@appname@/${pkgname}/g
        s/@runname@/app.asar/g
        s/@cfgdirname@/${pkgname}/g
        s/@options@//g
    " -i "${srcdir}/${pkgname}.sh"
    _ensure_local_nvm
    gendesk -q -f -n --pkgname="${pkgname}" --pkgdesc="${pkgdesc}" --categories="Utility" --name="${_pkgname}" --exec="${pkgname} %U"
    cd "${srcdir}/${_pkgname}-${pkgver}"
    electronDist="/usr/lib/electron${_electronversion}"
    export ELECTRON_SKIP_BINARY_DOWNLOAD=1
    export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')"
    HOME="${srcdir}/.electron-gyp"

    if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
        export BUN_INSTALL="${srcdir}/.bun"
        export npm_config_registry="https://registry.npmmirror.com"
        export ELECTRON_MIRROR="https://registry.npmmirror.com/-/binary/electron/"
        export ELECTRON_BUILDER_BINARIES_MIRROR="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"
    fi

    sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json
    NODE_ENV=development    bun install
    NODE_ENV=development    bun run type-check
    NODE_ENV=production     bun run build-only
    NODE_ENV=production     bunx electron-builder --linux dir -c.electronDist=${electronDist}
}
package() {
    install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}"
    install -dm755 "${pkgdir}/usr/lib/${pkgname}"
    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist-client/linux-unpacked/resources/app.asar" "${pkgdir}/usr/lib/${pkgname}/app.asar"
    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/dist/logo.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
    install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
    install -Dm644 "${srcdir}/${_pkgname}-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

vlfig commented on 2025-02-21 12:38 (UTC)

If you're getting

/usr/bin/claude-desktop: line 24: cd: /usr/lib/claude-desktop: Not a directory
Failed to change directory to /usr/lib/claude-desktop

try

# cd /usr/lib
# sudo mv claude-desktop app.asar
# sudo mkdir claude-desktop
# sudo mv app.asar claude-desktop/app.asar