#circleci
Вопрос:
Я загружаю и распаковываю двоичный файл одним шагом.
- 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
двоичный файл таким образом, чтобы его мог использовать другой шаг запуска?
Комментарии:
1. Как насчет перемещения файла по уже известному пути ? (это скорее быстрое решение, чем проверенное в бою решение)
2. Кроме этого, может быть, вы могли бы использовать полный путь ? Да, я предлагаю только решения для утиной ленты :c
Ответ №1:
Основная проблема заключается в том, что 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