如何在GitHub Actions中运行Expo项目自定义JS脚本并解决权限问题?
解决GitHub Actions中运行脚本的"Permission denied"问题
这个报错和Expo无关,核心原因是你的./bin/example.js脚本缺少可执行权限,和#!/usr/bin/env node的识别没有关系——这行代码只是指定脚本用node解释器执行,不影响文件权限。
下面是三种可行的解决方法:
方法一:在GitHub Actions流程中临时添加权限
在yarn install之后、yarn test之前,增加一步赋予脚本可执行权限的命令:- name: 📦 Install dependencies run: yarn install - name: ⚙️ Grant script execution permission run: chmod +x ./bin/example.js - name: 📗 Trigger my test script run: yarn test方法二:本地设置权限后提交到仓库
在本地终端执行以下命令,给脚本添加可执行权限,然后提交到GitHub仓库:chmod +x ./bin/example.js git add ./bin/example.js git commit -m "Add execute permission to example.js" git push之后GitHub Actions运行时,脚本就自带可执行权限了。
方法三:修改package.json的test命令,直接用node调用
不需要依赖脚本的可执行权限,直接在test命令里指定用node运行脚本,修改package.json的test字段:"start": "expo start", "test": "node ./bin/example.js"这种方法最省心,避免了跨环境的权限差异问题。
内容的提问来源于stack exchange,提问作者savkevip
相关产品推荐
相关产品推荐

