Score:0

NodeJS ไม่พบ python: gyp ERR! ค้นหา Python

ธง kz

ฉันพยายามเรียกใช้สคริปต์ แต่ nodejs ไม่พบ python ด้วยเหตุผลบางประการ ฉันได้ลองติดตั้ง python ใหม่, ติดตั้ง nodejs ใหม่, ติดตั้ง OS ใหม่, รัน (และรีบูตเครื่องในภายหลัง): ส่งออก PYTHON="$(ซึ่งหลาม)", ส่งออก PYTHON="$(ซึ่ง python3)" (ซึ่งหลามส่งคืนเส้นทางที่ถูกต้อง) ตั้งค่า npm python /usr/bin/python3.9, python ตั้งค่า npm "/usr/bin/python3.9" และ ส่งออก PYTHONPATH="$(ซึ่งหลาม)" แต่ไม่มีอะไรทำงาน ฉันใช้ระบบปฏิบัติการราสเบอร์รี่ 64 บิต lite จากราสเบอร์รี่ pi 4ฉันติดตั้ง nodejs และ python ด้วย sudo apt install python/npm/nodejs บริบท

ข้อผิดพลาด

สคริปต์:

#!/bin/bash

ตั้ง -xe

ลูกค้าซีดี
rm -rf .ถัดไป
เส้นด้าย
สร้างเส้นด้าย 
ซีดี ..

ทุบตี ./bundle-client.sh
นักเทียบท่า build --network=host -t clipface:latest
ลูกค้า rm/docker-bundle.tgz

ฉันพยายามเพิ่ม --python="/usr/bin/python3.9" ในบรรทัดที่ 7 และ 8 แต่ก็ไม่ได้สร้างความแตกต่าง ฉันไม่สามารถเพิ่มลงในบรรทัดที่ 12 ได้เนื่องจากนักเทียบท่าไม่มีสวิตช์ --python บรรทัดที่ 12 คือเมื่อเกิดข้อผิดพลาด

ไฟล์นักเทียบท่า:

จากโหนด:อัลไพน์

# การตั้งค่าแอพ

เพิ่มไคลเอ็นต์/docker-bundle.tgz /

เวิร์คดีอาร์ /app

เส้นด้าย RUN --ผลิตภัณฑ์

#การกำหนดค่า

ENV NODE_CONFIG_DIR=/กำหนดค่า
การผลิต ENV NODE_ENV
พอร์ต ENV 80
เปิดเผย 80
VOLUME / คลิป
ระดับเสียง / กำหนดค่า

เส้นด้าย CMD เริ่มต้น -p ${PORT}

ข้อผิดพลาดใหม่หลังจากเพิ่ม RUN apk เพิ่ม --update --no-cache python3 && ln -sf python3 /usr/bin/python ถึง Dockerfile: https://pastebin.com/eKPZzPSk

dave_thompson_085 avatar
jp flag
ข้อผิดพลาดของคุณเกิดขึ้นใน **docker build** นั่น (และนักเทียบท่าโดยทั่วไป) ไม่ได้ใช้ envvars ใด ๆ ที่คุณตั้งค่าไว้ในเชลล์ของคุณ มันใช้เฉพาะ envvars set _in Dockerfile หรือ (แหล่งที่มา) image_ และนักเทียบท่าจะเรียกใช้ซอฟต์แวร์ที่ติดตั้งหรือเมานต์ _in the container_ เท่านั้นที่ไม่ได้อยู่ในโฮสต์ -- และอย่างน้อย `node:lts-alpine` (ที่ฉันใช้) ไม่มี python ซึ่งดูเหมือนจะเป็นข้อผิดพลาดเนื่องจากคุณพบ `เส้นด้าย` ใช้มัน
kz flag
ฉันจะแก้ไขได้อย่างไร ฉันลองเพิ่ม `RUN apt-get update -y` และ `RUN apt-get install -y python3` ไปยัง dockerfile แต่ฉันได้รับข้อผิดพลาด (ไม่พบ apt-get) ไม่ว่าฉันจะวางไว้ที่ใด ฉันแก้ไขโพสต์เพื่อรวม dockerfile หากจำเป็น
kz flag
โอ้ ฉันต้องใช้ `RUN apk add` ฉันคิดว่า python อาจใช้งานได้ แต่ตอนนี้ฉันได้รับข้อผิดพลาดต่างออกไปฉันอัปเดตคำถามด้วยข้อผิดพลาดใหม่ แต่ฉันไม่แน่ใจว่าต้องถามเป็นคำถามใหม่แทนหรือไม่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา