You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:50:26