tauri使用github action实现跨平台编译并解决编译错误,mac已损坏,无法打开,你应该将它移到废纸篓解决办法

news2024/11/18 14:38:26

正常编译为跨平台结果就像上面的,有mac/windows/linux的安装程序,直接下载就可以安装使用,我的这个livebox桌面端仓库地址:GitHub - Sjj1024/LiveBox: livebox,里面有编译文件可以参考。今天主要讲一下遇到的问题。

官方文档的坑

按照tauri官方文档的说明:跨平台编译 | Tauri Apps,其实只要在项目的根目录创建一个 .github/workflows/build.yml 文件,然后添加内容就可以了:

但是这里需要注意:

这里cache: 'yarn' # Set this to npm, yarn or pnpm.是有问题的,不能直接使用

修改为pnpm后,就会报错:

Run actions/setup-node@v3

13Attempt to resolve LTS alias from manifest...

14Found in cache @ /Users/runner/hostedtoolcache/node/20.15.0/arm64

Environment details

19Error: Unable to locate executable file: pnpm. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

Install frontend dependencies

Build the app

Post Sync node version and setup cache

Post Rust cache

Post Checkout repository

Complete job

add tag · Sjj1024/LiveBox@07414e2 

这里需要修改为下面的逻辑:完成可用的内容

name: Release
on:
    push:
        tags:
            - 'v*'
    workflow_dispatch:

jobs:
    release:
        permissions:
            contents: write
        strategy:
            fail-fast: false
            matrix:
                platform: [macos-latest, ubuntu-20.04, windows-latest]
        runs-on: ${{ matrix.platform }}

        steps:
            - name: Checkout repository
              uses: actions/checkout@v3

            - name: Install dependencies (ubuntu only)
              if: matrix.platform == 'ubuntu-20.04'
              # You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
              run: |
                  sudo apt-get update
                  sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev

            - name: Rust setup
              uses: dtolnay/rust-toolchain@stable

            - name: Rust cache
              uses: swatinem/rust-cache@v2
              with:
                  workspaces: './src-tauri -> target'

            - name: Sync node version and setup cache
              uses: actions/setup-node@v4
              with:
                  node-version: 20

            - name: Install PNPM
              run: npm i -g pnpm

            - name: Install frontend dependencies
              # If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
              run: pnpm install # Change this to npm, yarn or pnpm.

            - name: Build the app
              uses: tauri-apps/tauri-action@v0

              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              with:
                  tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags.
                  releaseName: 'App Name v__VERSION__' # tauri-action replaces \_\_VERSION\_\_ with the app version.
                  releaseBody: 'See the assets to download and install this version.'
                  releaseDraft: true
                  prerelease: false

如果你使用的是npm的话,应该没有问题,但是我使用的pnpm,以为修改为npm就可以正常用了,但是依然报错:

Run actions/setup-node@v3
Attempt to resolve LTS alias from manifest...
Found in cache @ /Users/runner/hostedtoolcache/node/20.14.0/arm64
Environment details
/Users/runner/hostedtoolcache/node/20.14.0/arm64/bin/npm config get cache
/Users/runner/.npm
Error: Dependencies lock file is not found in /Users/runner/work/LiveBox/LiveBox. Supported file patterns: package-lock.json,npm-shrinkwrap.json,yarn.lock

这里就是说没有得到lock file,因为我使用pnpm,只会有pnpm-lock.yaml文件,所以只能使用pnpm安装。

其中文件里面的 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 是每个仓库都会默认包含的一个action环境变量,不用单独添加,可以给这个环境变量添加不同的权限:GitHub 会自动为每个运行的工作流发布 GitHub 令牌,而不需要进一步配置,这意味着不存在秘密泄漏的风险。但是,该令牌默认只具有读权限,并且在运行工作流时可能会出现“资源无法通过集成访问”错误。如果发生这种情况,您可能需要向此标记添加写权限。要做到这一点,进入您的 GitHub 项目设置,然后选择操作,向下滚动到“工作流权限”,并检查“读取和写入权限”。

mac安装包打开遇到的问题

提示:已损坏,无法打开,你应该将它移到废纸篓

提示:无法打开 “应用程序”,因为无法验证开发者。macOS 无法验证此 App 不包含恶意软件 

解决办法:

打开 “系统偏好设置…” - “安全性与隐私”,“通用” 标签页,如图勾选:允许 “任何来源” 下载的 App 运行:

如果还是报错,就可以祭出大招了,给文件赋予安全性设置。在终端粘贴复制输入命令:

sudo xattr -r -d com.apple.quarantine

然后打开 Finder进入 “应用程序” 目录,找到该软件,将其图标拖到终端窗口,获取到文件路径,最终拼接为以下命令:

sudo xattr -r -d com.apple.quarantine /Applications/livebox.app

然后执行命令,输入系统密码即可。完成上述步骤即可完美运行应用。

输入一个直播间地址试试:完美

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1882465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【FFmpeg】av_write_frame函数

目录 1.av_write_frame1.1 写入pkt(write_packets_common)1.1.1 检查pkt的信息(check_packet)1.1.2 准备输入的pkt(prepare_input_packet)1.1.3 检查码流(check_bitstream)1.1.4 写入…

C++知识点总结全系列 (05):IO 类的详细总结和分析

1、基类 istream 和 ostream (1)istream A.What 输入流的抽象类,是所有输入流类的基类 B.Why(输入流的作用) 用于从数据源(如文件、标准输入设备等)读取数据 (2)ostream A.What 输出流的抽象类,是所有输…

重温react-09(高阶组件的使用方式和注意事项)

高阶组件 可以理解为vue的混入吧,但是没有那个方便(个人见解) 挂载的全局App.jsx的代码 import React from react; import LearnFunction05 from ./LearnFunction05; // 这个是高阶函数的用法 export default function boxReact() {retur…

六西格玛绿带培训的证书有什么用处?

近年来,六西格玛作为一套严谨而系统的质量管理方法,被广泛运用于各行各业。而六西格玛绿带培训证书,作为这一方法论中基础且重要的认证,对于个人和企业而言,都具有不可忽视的价值。本文将从多个角度深入探讨六西格玛绿…

你敢相信吗,AI绘画正在逐渐取代你的工作!

前言 在当今信息技术高速发展的时代,AI绘画技术的崛起已引起了广泛关注和讨论。许多人开始担心AI技术是否会逐渐取代传统绘画师的工作。人类无疑是感性的动物,创作出来的艺术作品常常带有浓郁的个人风格和情感。但AI绘画在某些方面的突破,使…

浅谈定时器之泊松随机定时器

浅谈定时器之泊松随机定时器 “泊松随机定时器”(Poisson Random Timer),它允许你基于泊松分布来随机化请求之间的延迟时间,这对于模拟具有随机到达率的事件特别有用,如用户访问网站或服务的请求。 泊松分布简介 泊松分布是一种统计与概率…

大厂面试官问我:在同步binlog的时候主库是一个时间,从库是一个时间,底层是怎么解决的?【后端八股文八:Mysql日志八股文合集(2)】

本文为【Mysql日志八股文合集(2)】初版,后续还会进行优化更新,欢迎大家关注交流~ 大家第一眼看到这个标题,不知道心中是否有答案了?在面试当中,面试官经常对项目亮点进行深挖,来考察…

国产压缩包工具——JlmPackCore SDK说明(二)——JlmPack_Create函数说明

一、JlmPack_Create函数说明 JlmPack_Create函数是创建jlm压缩文件的核心函数,最大允许CATALOG_MAX_LIMIT(请参考Config.h)个目录,意思是包括文件夹和文件在内,遍历整个列表最大允许CATALOG_MAX_LIMIT个目录对象&#…

Zabbix HA高可用集群部署

Zabbix HA高可用集群介绍 关键基础设施通常需要高可用性 (HA),因为这些基础设施几乎不会造成停机。因此,对于任何可能失败的服务,都必须有一个故障转移选项,以便在当前服务失败时接管。 Zabbix 提供了易于设置的本机高可用性解决…

智慧渔港:海域感知与岸线监控实施方案(智慧渔港渔船综合管控平台)

文章目录 引言I 技术栈1.1 物理结构图1.2 功能逻辑结构图II 云台(大华)2.1 设备网络SDK运行在Mac平台2.2 WEB无插件开发包III 术语3.1 渔业引言 利用渔船现有的定位导航通讯设备等资源,实现岸线和近岸海域内违法船舶和可疑船舶预警、抓拍、跟踪和行为分析。 在渔船上安装风…

2024百元蓝牙耳机哪个好?2024性价比最高的蓝牙耳机推荐

2024想要在百元左右找到一款好用的性价比高的蓝牙耳机,确实是个不小的挑战。市场上各种耳机品牌和型号琳琅满目,各有各的特点。你可能会疑惑,如何才能在预算内挑选到一款性价比高、音质好的耳机呢?这篇文章将为你提供一些选购百元…

湖南省教育网络协会莅临麒麟信安调研教育网络数字化建设及教育信创发展情况

6月28日下午,湖南省教育网络协会理事长张智勇、秘书长刘志勇、副理事长黄旭、胡洪波、周中伟等协会相关负责人一行莅临麒麟信安,就湖南省教育网络数字化建设、教育信创工作等主题进行深入调研。麒麟信安副总裁王攀热情接待。 协会成员一行来到麒麟信安展…

1978Springboot在线维修预约服务应用系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot在线维修预约服务应用系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发 ),系统具有完整的源代码和…

中国智能工厂自动化集成商100强:广东23家,江苏20家,上海浙江紧随其后

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 更多的海量【智能制造】相关资料,请到智能制造online知识星球自行下载。 在数字化、智能化的浪潮中,中国智能工厂自动化集…

下代iPhone或回归可拆卸电池,苹果这操作把我看傻了

刚度过一个愉快的周末,苹果又双叒叕摊上事儿了。 iPhone13 系列被曝扎堆电池鼓包了。 早在去年,就有 iPhone13 和 iPhone14 用户反馈过类似的问题,表示在手机仅仅使用了一年多的时间就出现了电池鼓包的情况,而且还把屏幕给撑起来了…

SAP Build 3-调用SAP BAPI和调用S4HC API

1. 调用SAP BAPI 1.1 前提 项目已创建 SAP环境登录正常 1.2 引入BAPI SDK 商店中下载BAPI SDK Process中导入BAPI SDK 1.3 新建action group 新建action group时,会要求填写SAP登录信息,根据连接类型分为SSO,Basic和Custom 如果选择SS…

【办公软件使用分享—Word篇】实用技巧 一学就会 沈阳电脑办公软件基础培训

在平时的工作学习中,Word真真是让很多人头疼的一件事,今天给大家分享20个案例,感受下Word真正的力量! 1.插入自动目录 没有目录的文档不是一份合格的文档,很多人认为在Word里插入目录是一件很麻烦的事,其…

Soul打造安全社交元宇宙环境,全力守护用户线上社交安全

在数字化时代的浪潮中,智能安全线上社交正成为人们日常生活中的重要组成部分。随着人们对社交媒体和在线平台依赖程度的不断增加,保障个人信息安全和网络安全变得至关重要。在此背景下,社交平台致力于采取多种措施来保障用户的隐私安全,提升社交体验的质量和安全性。而Soul全方…

Linux[高级管理]——Squid代理服务器的部署和应用(反向代理详解)

🏡作者主页:点击! 👨‍💻Linux高级管理专栏:点击! ⏰️创作时间:2024年6月24日11点11分 🀄️文章质量:95分 目录 ————前言———— Squid的几种模式…

高效的向量搜索算法——分层可导航小世界图(HNSW)

最近在接触大模型相关内容,发现一种高效的向量搜索算法HNSW,这里做一下记录。 在之前自己也接触过一段时间的复杂网络(网络科学),没想到,将网络科学的思想引入到向量搜索算法中,可以产生令人眼前…