ฉันมีบริการ systemd ที่มีลักษณะเช่นนี้:
[Unit]
Description=Kcrypt Backend Webpack Bundler
After=network.target
[Service]
User=kenny
Environment=NODE_ENV=PROD
WorkingDirectory=/var/www/kcrypt-api/
ExecStart=/var/www/kcrypt-api/scripts/webpack.sh
[Install]
WantedBy=multi-user.target
ไฟล์. sh มีลักษณะดังนี้:
#!/usr/bin/env bash
export NODE_ENV=DEV
rm ./dist/* -rf
yarn start webpack --watch
yarn
ปัญหาคือว่ามันไม่สามารถหา
kenny
ผู้ใช้ของฉันถูกเรียกว่า kenny
มีเครื่องมือที่เรียกว่าnvm
ติดตั้งที่จัดการnodejs
เวอร์ชัน เครื่องมือนั้นเพิ่มไดเรกทอรีไปยังPATH
ตัวแปร env โดยการแก้ไข '~ / .bashrc'
นั่นหมายถึงว่าคำสั่งจะใช้ได้เฉพาะเมื่อผู้ใช้เข้าสู่ระบบในฐานะyarn
kenny
ฉันถูกทิ้งให้อยู่กับความรู้สึกว่าถ้าผมตั้งค่าsystemd
ของunit
ผู้ใช้ที่ 'เคนนี' systemd
จะดูแลส่วนที่เหลือหรือผมไม่ทราบว่าสิ่งที่ผมคิด
มีวิธีใดบ้างที่ฉันสามารถนำเข้าkenny
ตัวแปร PATH ในsystemd
unit
?