GuMengYu / music-you

🪗 一个美观简约的Material Design 3 (Material You) 风格pc音乐播放器
https://music-you-next.vercel.app
GNU Affero General Public License v3.0
531 stars 60 forks source link

ArchLinux 下编译出错 #35

Closed zxp19821005 closed 1 year ago

zxp19821005 commented 1 year ago

Describe the bug 本来想将这个包移植到ArchLinux的AUR,但是在编译过程中报错。 PKGBUILD文件内容如下:

# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
pkgname="music-you-appimage"
pkgver=2.0.11
pkgrel=1
pkgdesc="一个美观简约的Material Design 3 (Material You) 风格网易云音乐播放器pc客户端"
arch=('x86_64')
url="https://v-player-git-dev-gumengyu.vercel.app/"
_githuburl="https://github.com/GuMengYu/music-you"
license=('AGPL3')
options=(!strip)
conflicts=("${pkgname%-appimage}")
depends=('zlib' 'glibc' 'hicolor-icon-theme')
makedepends=('git' 'npm' 'gendesk' 'yarn')
_install_path="/opt/appimages"
source=("${pkgname%-appimage}-${pkgver}.tar.gz::${_githuburl}/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('709a650eae1ab1f44021c25bbf18e7c560299f837183b7da1b7107878795003b')
build() {
    cd "${srcdir}/${pkgname%-appimage}-${pkgver}"
    npm install
    npm run electron:prebuild && electron-builder --linux appimage
}
package() {
    install -Dm755 "${srcdir}/${pkgname%-appimage}-${pkgver}/release/${pkgver}/${pkgname%-appimage}-${pkgver}.AppImage" "${pkgdir}/${_install_path}/${pkgname%-appimage}.AppImage"
    install -Dm644 "${srcdir}/${pkgname%-appimage}-${pkgver}/doc/logo.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-appimage}.png"
    gendesk -f -n --icon "${pkgname%-appimage}" --categories "AudioVideo" --name "music-you" --exec "${_install_path}/${pkgname%-appimage}.AppImage --no-sandbox %U"
    install -Dm644 "${srcdir}/${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
}

在执行npm install时,出现了错误,内容如下:

npm WARN deprecated rollup-plugin-terser@7.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm ERR! code 1
npm ERR! git dep preparation failed
npm ERR! command /usr/bin/node /usr/lib/node_modules/npm/bin/npm-cli.js install --force --cache=$HOME/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run
npm ERR! npm WARN using --force Recommended protections disabled.
npm ERR! npm ERR! code ETARGET
npm ERR! npm ERR! notarget No matching version found for vuetify@next.
npm ERR! npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! npm ERR! notarget a package version that doesn't exist.
npm ERR! 
npm ERR! npm ERR! A complete log of this run can be found in:
npm ERR! npm ERR!     $HOME/.npm/_logs/2023-06-01T08_05_59_538Z-debug-0.log

npm ERR! A complete log of this run can be found in:
npm ERR!     $HOME/.npm/_logs/2023-06-01T08_05_54_222Z-debug-0.log
==> 错误: 在 build() 中发生一个错误。
    正在放弃...

Desktop (please complete the following information):

zxp19821005 commented 1 year ago

尝试执行yarn install,会出来一个提示:

Couldn't find any versions for "vuetify" that matches "next"
? Please choose a version of "vuetify" from this list: (Use arrow keys)
❯ 3.3.2 
  3.3.1 
  3.3.0

手动按确认,可以正常通过,然后会报如下错误:

warning " > @pixi/filter-kawase-blur@5.1.1" has unmet peer dependency "@pixi/core@^7.0.0-X".
warning "pixi.js > @pixi/assets@7.2.4" has unmet peer dependency "@pixi/utils@7.2.4".
warning " > vite-plugin-electron-renderer@0.11.4" has unmet peer dependency "esbuild@*".
warning " > vite-plugin-pwa@0.14.7" has unmet peer dependency "workbox-build@^6.5.4".
warning " > vite-plugin-pwa@0.14.7" has unmet peer dependency "workbox-window@^6.5.4".
warning " > vite-plugin-vuetify@1.0.2" has unmet peer dependency "vuetify@^3.0.0-beta.4".
warning "vite-plugin-vuetify > @vuetify/loader-shared@1.7.1" has unmet peer dependency "vuetify@^3.0.0-beta.4".
warning " > vuetify-ctx-menu@0.0.1" has unmet peer dependency "vuetify@next".
[4/4] Building fresh packages...
success Saved lockfile.
$ husky install
.git can't be found (see https://git.io/Jc3F9)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

忽略这些错误,执行编译打包命令:

npm run electron:prebuild && electron-builder --linux appimage

可以正常生成appimage文件。

zxp19821005 commented 1 year ago

通过命令行调用运行appimage文件,点击任意一个歌单进入后,相关元数据信息会一闪而过,然后就一直显示歌单封面;此时底部控制按钮无效,只能双击最大化、最小化。运行日志如下:

$ /opt/appimages/music-you.AppImage --no-sandbox %U
16:23:54.041 › music you main process bootstrap
16:23:54.262 › static app create
[HPM] Proxy created: /  -> http://127.0.0.1:12141
16:23:54.492 › app run in port 12140
server running @ http://127.0.0.1:12141
[OK] /personalized/newsong?limit=7
[OK] /playlist/detail?id=5362359247
[OK] /personalized?limit=7
[OK] /playlist/detail?id=5300458264
[OK] /playlist/detail?id=5341776086
[OK] /playlist/detail?id=5320167908
[OK] /dj/personalize/recommend
[OK] /playlist/detail?id=5327906368
[OK] /playlist/detail?id=6700242542
[OK] /playlist/detail?id=3136952023
[OK] /personal_fm?timestamp=1685607835946
[OK] /playlist/detail?id=98317854
[OK] /playlist/track/all?id=98317854&offset=0&limit=152
[OK] /related/playlist?id=98317854
16:24:04.673 › window maximize
16:24:05.469 › window unmaximize
16:24:11.389 › window close true
zxp19821005 commented 1 year ago

Hello,我又来反馈了。 新版本2.0.12,执行npm installnpm run electron:build:linux命令均正常,打包文件也成功生成,但是最后报错了:

$ npm run electron:build:linux

> music-you@2.0.12 electron:build:linux
> npm run electron:prebuild && electron-builder --linux

> music-you@2.0.12 electron:prebuild
> vite build --mode electron

vite v4.0.3 building for electron...
transforming (1904) node_modules/@pixi/assets/lib/loader/parsers/textures/utils/index.mjsUse of eval in "node_modules/lottie-web/build/player/lottie.js" is strongly discouraged as it poses security risks and may cause issues with minification.
✓ 1905 modules transformed.
dist/index.html                        0.77 kB
dist/netease-outline-1e36df64.svg      1.91 kB
dist/placeholder-ab407b36.png          6.23 kB
dist/style-c83afb73.css              504.18 kB │ gzip:  68.18 kB
dist/index-f080b5ff.js             2,230.21 kB │ gzip: 649.00 kB

(!) Some chunks are larger than 500 kBs after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/guide/en/#outputmanualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
vite v4.0.3 building for electron...
✓ 61 modules transformed.
dist-electron/main/index.js  175.02 kB │ gzip: 34.97 kB
vite v4.0.3 building for electron...
✓ 1 modules transformed.
dist-electron/preload/index.js  3.59 kB │ gzip: 1.34 kB
  • electron-builder  version=23.6.0 os=6.1.32-1-lts
  • loaded configuration  file=/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/electron-builder.json5
  • writing effective config  file=release/2.0.12/builder-effective-config.yaml
  • packaging       platform=linux arch=x64 electron=24.1.1 appOutDir=release/2.0.12/linux-unpacked
  • building        target=AppImage arch=x64 file=release/2.0.12/music-you-2.0.12.AppImage
  • building        target=snap arch=x64 file=release/2.0.12/music-you_2.0.12_amd64.snap
  • building        target=tar.xz arch=x64 file=release/2.0.12/music-you-2.0.12.tar.xz
  • building        target=deb arch=x64 file=release/2.0.12/music-you_2.0.12_amd64.deb
  ⨯ Please specify project homepage, see https://electron.build/configuration/configuration#Metadata-homepage

Please specify author 'email' in the application package.json

See https://docs.npmjs.com/files/package.json#people-fields-author-contributors

It is required to set Linux .deb package maintainer. Or you can set maintainer in the custom linux options.
(see https://www.electron.build/configuration/linux).
  failedTask=build stackTrace=Error: Please specify project homepage, see https://electron.build/configuration/configuration#Metadata-homepage
                                                                                                                                                                                                                                                                                                                                                                                                                                     Please specify author 'email' in the application package.json
                                                                                                                                                                                                                                                                                                                                                                                                                                     See https://docs.npmjs.com/files/package.json#people-fields-author-contributors
                                                                                                                                                                                                                                                                                                                                                                                                                                     It is required to set Linux .deb package maintainer. Or you can set maintainer in the custom linux options.
(see https://www.electron.build/configuration/linux).
                                                                                                                                                                                                                                                                                                                                                                                                                                         at FpmTarget.computeFpmMetaInfoOptions (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/targets/fpm.ts:86:13)
    at FpmTarget.build (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/targets/fpm.ts:144:25)
    at /home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/platformPackager.ts:154:11
    at async Promise.all (index 0)
    at AsyncTaskManager.awaitTasks (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/builder-util/src/asyncTaskManager.ts:65:25)
    at Packager.doBuild (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/packager.ts:453:5)
    at Object.executeFinally (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/builder-util/src/promise.ts:12:14)
    at Packager._build (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/packager.ts:376:31)
    at Packager.build (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/packager.ts:337:12)
    at Object.executeFinally (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/builder-util/src/promise.ts:12:14)

我大概瞄了一眼,似乎是在package.json文件里面没有设置homepageemail字段,所以导致出错,应该不是什么大问题。 另:能否在package.json文件中单独增加Linux下打包输出AppImage、RPM、DEB等的命令呢?或者能否直接在release页面中增加相关的下载呢?谢谢!

GuMengYu commented 1 year ago

手上没Linux环境 没法验证 你可以尝试 fork 修改 🥲

Woodenman @.***> 于 2023年6月8日周四 19:14写道:

Hello,我又来反馈了。 新版本2.0.12 https://github.com/GuMengYu/music-you/archive/refs/tags/v2.0.12.tar.gz ,执行npm install和npm run electron:build:linux命令均正常,打包文件也成功生成,但是最后报错了:

$ npm run electron:build:linux

@.*** electron:build:linux npm run electron:prebuild && electron-builder --linux

@.*** electron:prebuild vite build --mode electron

vite v4.0.3 building for electron... transforming (1904) @.***/assets/lib/loader/parsers/textures/utils/index.mjsUse of eval in "node_modules/lottie-web/build/player/lottie.js" is strongly discouraged as it poses security risks and may cause issues with minification. ✓ 1905 modules transformed. dist/index.html 0.77 kB dist/netease-outline-1e36df64.svg 1.91 kB dist/placeholder-ab407b36.png 6.23 kB dist/style-c83afb73.css 504.18 kB │ gzip: 68.18 kB dist/index-f080b5ff.js 2,230.21 kB │ gzip: 649.00 kB

(!) Some chunks are larger than 500 kBs after minification. Consider:

  • Using dynamic import() to code-split the application
  • Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/guide/en/#outputmanualchunks
  • Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. vite v4.0.3 building for electron... ✓ 61 modules transformed. dist-electron/main/index.js 175.02 kB │ gzip: 34.97 kB vite v4.0.3 building for electron... ✓ 1 modules transformed. dist-electron/preload/index.js 3.59 kB │ gzip: 1.34 kB • electron-builder version=23.6.0 os=6.1.32-1-lts • loaded configuration file=/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/electron-builder.json5 • writing effective config file=release/2.0.12/builder-effective-config.yaml • packaging platform=linux arch=x64 electron=24.1.1 appOutDir=release/2.0.12/linux-unpacked • building target=AppImage arch=x64 file=release/2.0.12/music-you-2.0.12.AppImage • building target=snap arch=x64 file=release/2.0.12/music-you_2.0.12_amd64.snap • building target=tar.xz arch=x64 file=release/2.0.12/music-you-2.0.12.tar.xz • building target=deb arch=x64 file=release/2.0.12/music-you_2.0.12_amd64.deb ⨯ Please specify project homepage, see https://electron.build/configuration/configuration#Metadata-homepage

Please specify author 'email' in the application package.json

See https://docs.npmjs.com/files/package.json#people-fields-author-contributors

It is required to set Linux .deb package maintainer. Or you can set maintainer in the custom linux options. (see https://www.electron.build/configuration/linux). failedTask=build stackTrace=Error: Please specify project homepage, see https://electron.build/configuration/configuration#Metadata-homepage Please specify author 'email' in the application package.json See https://docs.npmjs.com/files/package.json#people-fields-author-contributors It is required to set Linux .deb package maintainer. Or you can set maintainer in the custom linux options. (see https://www.electron.build/configuration/linux). at FpmTarget.computeFpmMetaInfoOptions (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/targets/fpm.ts:86:13) at FpmTarget.build (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/targets/fpm.ts:144:25) at /home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/platformPackager.ts:154:11 at async Promise.all (index 0) at AsyncTaskManager.awaitTasks (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/builder-util/src/asyncTaskManager.ts:65:25) at Packager.doBuild (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/packager.ts:453:5) at Object.executeFinally (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/builder-util/src/promise.ts:12:14) at Packager._build (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/packager.ts:376:31) at Packager.build (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/app-builder-lib/src/packager.ts:337:12) at Object.executeFinally (/home/zxp-endeavouros/.cache/paru/clone/music-you-appimage/src/music-you-2.0.12/node_modules/builder-util/src/promise.ts:12:14)

我大概瞄了一眼,似乎是在package.json文件里面没有设置homepage和email字段,所以导致出错,应该不是什么大问题。 另:能否在package.json 文件中单独增加Linux下打包输出AppImage、RPM、DEB等的命令呢?或者能否直接在release页面中增加相关的下载呢?谢谢!

— Reply to this email directly, view it on GitHub https://github.com/GuMengYu/music-you/issues/35#issuecomment-1582393189, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIAKK2LISZW5CIHKMQMLM3XKGX2NANCNFSM6AAAAAAYWRGWPE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

GuMengYu commented 1 year ago

已添加 github action 对 linux 打包的支持, see: https://github.com/GuMengYu/music-you/commit/98f2c6dc0ffa9b24232a5d31038fc9a214612a0d

release 增加 linux 安装包

zxp19821005 commented 1 year ago

谢谢! 我本人只是比较喜欢Linux,不会开发,所以只好麻烦你了。 再次感谢!