如何在 CircleCI 作业中将可执行文件添加到我的路径?
How can I add an executable to my path in a CircleCI job?
我正在 运行 步骤中下载并解压缩 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/
而不是 /tmp/binaryen-version_101/bin/wasm-opt
。此外,在将目录添加到 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
我正在 运行 步骤中下载并解压缩 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/
而不是 /tmp/binaryen-version_101/bin/wasm-opt
。此外,在将目录添加到 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