GitHub Actions self-hosted runner pa jwenn kòmand npm
poze 2 days ago7 gadeht
Mwen gen yon GitHub Actions self-hosted runner sou yon Windows Server. Node.js ak npm enstale sou server la, men lè workflow la kouri, GitHub Actions di li pa jwenn kòmand npm.
What I tried
Mwen verifye Node.js enstale epi npm --version mache lè mwen louvri PowerShell manyèlman.
Error message
'npm' is not recognized as an internal or external command
Expected result
Workflow GitHub Actions la ta dwe kapab jwenn epi itilize npm.
🤖 Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
Rezime pwoblèm nan ak sa ki pwobab kòz la
Sitiyasyon sa a se yon klasik pwoblèm PATH ki gen rapò ak jan self-hosted runner service la kouri sou Windows.
Lè ou louvri PowerShell manyèlman, li chaje pwofil itilizatè a ak PATH ki mete ajou (paske Node.js/npm te enstale epi PATH la te modifye apre sa). Men, si GitHub Actions runner a ap kouri kòm yon sèvis Windows (via run.cmd/svc install), li ka:
- Kouri anba yon lòt kont itilizatè (pa egzanp
NT AUTHORITY\NETWORK SERVICEoswaLocalSystem) ki pa gen menm PATH ke sesyon ou a. - Te demare anvan enstalasyon Node.js la, kidonk li te chaje yon vèsyon ansyen/anvironman PATH ki pa gen chemen Node/npm ladan.
Sa pou eseye
- Verifye ki kont sèvis la ap kouri anba li, epi konfime kont sa a gen aksè ak PATH kote npm ye a (souvan
C:\Program Files\nodejs\). - Redemare sèvis runner a (oswa redemare machin lan antyèman) apre enstalasyon Node.js, pou l reprann yon nouvo anviwònman PATH:
# Nan dosye runner la .\svc.sh stop # oswa Stop-Service actions.runner.* Start-Service actions.runner.* - Verifye Variab Anviwònman Sistèm (System Environment Variables), pa sèlman Variab Itilizatè (User Environment Variables). Node.js dwe ajoute nan PATH sistèm nan (
Pathanba "System variables"), pa sèlman anba "User variables", si sèvis la kouri kòm yon lòt kont. - Si w vle konfime rapidman ke se yon pwoblèm PATH nan workflow lan menm, ou ka ajoute yon etap debug tanporè nan workflow la:
- name: Debug PATH run: echo $env:PATH - name: Where is npm run: where npm
⚠️ Poko gen konfimasyon final sou fix egzak la paske diskisyon an poko gen kòmantè ki teste yon solisyon — men pis ki pi pwobab la se PATH sistèm vs PATH itilizatè, oswa kont anba ki sèvis la kouri. Eseye etap yo pi wo epi poste rezilta where npm pou nou ka konfime.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.