【问题标题】:Debug this CircleCI / Docker bash error (script not found)?调试此 CircleCI / Docker bash 错误(找不到脚本)?
【发布时间】:2018-01-29 20:14:03
【问题描述】:

我正在尝试在 CircleCI 构建中运行一个名为 install_chrome.sh 的脚本。我正在使用this Docker image。我没有制作图像,它只包含我需要的两个依赖项(Node 和 ffmpeg)。

图像通过 CircleCI 安装良好,但随后 install_chrome.sh 构建步骤失败。此构建步骤不会因 CircleCI“标准”NodeJs 图像而失败,以供参考。

这是我的config.yml

version: 2
jobs:
  build:
    working_directory: ~/my-project
    docker:
      - image: rickydunlop/nodejs-ffmpeg
    steps:
      - checkout
      - run:
          name: Debug 1
          command: pwd
      - run:
          name: Debug 2
          command: ls
      - run:
          name: Install Chrome
          command: ${HOME}/${CIRCLE_PROJECT_REPONAME}/install_chrome.sh .google-chrome

这是输出:

会发生什么?基于这些调试,我肯定在正确的目录中,我的源代码肯定就在那里。这是用户问题吗?有什么问题?

【问题讨论】:

    标签: node.js linux continuous-integration circleci ash


    【解决方案1】:

    您使用的是ash,而不是bash

    ash 将在 execve() 返回 ENOENT 时打印“未找到”,这可能由于以下任何原因发生:

    1. 文件不存在
    2. 文件的解释器不存在
    3. 文件解释器的动态加载器不存在

    既然您已确认该文件确实存在,请查看脚本的 shebang:

    head -n 1 install_chrome.sh
    

    并确保它指向的任何可执行文件都已安装并在该路径中可用。

    如果您在该路径中确实有它,请检查您是否可以单独执行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多