Рейтинг:0

NodeJS не может найти python: gyp ERR! найти питона

флаг kz

Я пытаюсь запустить скрипт, но nodejs по какой-то причине не может найти python. Я попытался переустановить python, переустановить nodejs, переустановить свою ОС, запустить (и перезагрузить после этого): экспортировать PYTHON="$(какой питон)", экспортировать PYTHON="$(какой python3)" (какой питон возвращает правильный путь), Набор настроек npm python /usr/bin/python3.9, Конфигурация npm устанавливает python "/usr/bin/python3.9" и экспортировать PYTHONPATH="$(какой питон)" но ничего не получилось. Я использую 64-битную ОС Raspberry Lite с Raspberry Pi 4.Я установил nodejs и python с помощью sudo apt install python/npm/nodejs. Контекст

Ошибка

Сценарий:

#!/бин/баш

установить -xe

компакт-диск клиент
рм -рф .следующий
пряжа
пряжа строить 
CD ..

bash ./bundle-client.sh
docker build --network=host -t clipface:latest .
клиент rm/docker-bundle.tgz

Я попытался добавить --python="/usr/bin/python3.9" в строки 7 и 8, но это не имеет значения. Я не могу добавить его в строку 12, потому что в докере нет переключателя --python. Строка 12, когда возникает ошибка

Докерфайл:

ОТ узла: альпийский

# Настройка приложения

ДОБАВИТЬ клиент/docker-bundle.tgz/

РАБОЧИЙКАТАЛОГ /приложение

RUN пряжа --prod

# Конфигурация

ENV NODE_CONFIG_DIR=/config
Производство ENV NODE_ENV
ОКРУЖАЮЩИЙ ПОРТ 80
ЭКСПОЗИЦИЯ 80
ГРОМКОСТЬ / клипы
ОБЪЕМ /config

Начало пряжи CMD -p ${PORT}

Новые ошибки после добавления ЗАПУСК apk добавить --update --no-cache python3 && ln -sf python3 /usr/bin/python в докерфайл: https://pastebin.com/eKPZzPSk

dave_thompson_085 avatar
флаг jp
Ваша ошибка возникает в **сборке докеров**. Это (и докер в целом) не использует envvars, которые вы установили в своей оболочке; он использует только набор envvars _in Dockerfile или (исходный) образ_. И докер запускает только программное обеспечение, установленное или смонтированное _в контейнере_, а не на хосте - и, по крайней мере, `node:lts-alpine` (который я использую) на самом деле не имеет python, что кажется ошибкой, поскольку, как вы обнаружили `пряжа` использует его.
флаг kz
Как я могу исправить это тогда? Я попытался добавить `RUN apt-get update -y` и `RUN apt-get install -y python3` в файл докеров, но я получаю ошибки (apt-get не найден) независимо от того, куда я его поместил. Я отредактировал сообщение, чтобы включить файл докеры, если это необходимо.
флаг kz
о, мне пришлось использовать «RUN apk add». Я думаю, что python может работать, но теперь я получаю разные ошибки.Я обновил вопрос с новыми ошибками, но я не уверен, что вместо этого мне нужно задать его как новый вопрос.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.