circleci - 如何在 CircleCI 作业中将可执行文件添加到我的路径?
问题描述
我正在运行步骤中下载和解压缩binaryen。
- run: wget -c https://github.com/WebAssembly/binaryen/releases/download/version_101/binaryen-version_101-x86_64-linux.tar.gz -O - | tar -xz -C /tmp/
然后我在更新路径$BASH_ENV
。
- run: echo "export PATH=/tmp/binaryen-version_101/bin/wasm-opt:\${PATH}" >> $BASH_ENV
但是,我仍然得到一个找不到的命令wasm-opt
。
如何安装下载的wasm-opt
二进制文件以便另一个运行步骤可以使用它?
解决方案
主要问题是PATH
变量应该包含目录列表。您将实际的二进制文件本身添加到了路径中,而不是它所在的目录中。
例如,而不是/tmp/binaryen-version_101/bin/wasm-opt
你想要的/tmp/binaryen-version_101/bin/
. 此外,在将目录添加到之后,PATH
您将无法运行这些二进制文件,直到下一步。
这是我制作的示例配置:
version: 2.1
workflows:
main:
jobs:
- build
jobs:
build:
docker:
- image: cimg/base:stable
steps:
- checkout
- run: curl -sSL "https://github.com/WebAssembly/binaryen/releases/download/version_101/binaryen-version_101-x86_64-linux.tar.gz" | tar -xz -C /tmp/
- run: echo 'export PATH=/tmp/binaryen-version_101/bin/:${PATH}' >> $BASH_ENV
- run: wasm-opt
推荐阅读
- kubernetes - 使用 Helm 在 ConfigMap 中包含 shell 脚本以 YAML 错误结尾
- python-3.x - 如何使用 Python 将网页抓取的信息发送到不和谐的 webhook
- jquery - 根据 flexbox 容器的高度设置字体大小
- database - 无法在 Oracle 11g 上将对象类型插入表中
- php - 将 ajax 发送的 $_POST 替换为另一个 $_POST
- r - R Shiny:转置和显示用户上传的文件
- python - 仅使用开源工具从 Python 中查找和计算 SAS7BDAT 文件中的记录总数
- matlab - Matlab`bar`:控制条组之间的间距
- tfs - 检索 TFS 对话框参数
- c# - 用一个函数制作多个对象