Ich habe ein später zu veröffentlichendes Open Source-Projekt mit Node als CLI-Tool entwickelt. Die CLI selbst funktioniert gut Ich muss nur testen, ob es funktioniert, während in einem anderen Projekt, so dass ich die Projekte global npm install -g
ohne Fehler installiert habe, aber für das Leben von mir kann ich nicht die CLI verwenden.Kann mein eigenes npm-Paket nicht installieren
bekomme ich folgende Fehlermeldung:
Das Seltsame ist, dass das Verzeichnis und die Datei im globalen npm Ordner vorhanden ist:
Dies ist das Projekt package.json
:
Ich verstehe nicht, wie ein npm/node CLI funktioniert? Was ich vermisse?
EDIT 1:
Das ist mein index.js Datei:
Und das ist die commander.js Datei:
EDIT 2:
Nachdem ich ein Testprojekt erstellt hatte, wie @AngYC vorgeschlagen hatte, konnte ich den Test cli erfolgreich verwenden, während ich den Unterschied untersuchte, den ich gefunden habe. Innerhalb C:\Users\Ivan\AppData\Roaming\npm
sind die .cmd beiden Projekte ganz anders aus:
EDIT 3 (Lösung):
Nach Hantieren fand ich heraus, dass die Datei, die wirklich die shebang benötigt (#!/usr/bin/env node
) war nur index.js
Datei und nicht die commander.js
eins. Das Entfernen des Shebang in dieser Datei löste das Problem
** Bearbeiten: ** Sie müssen möglicherweise Ihre PATH-Umgebungsvariable https://stackoverflow.com/questions/29955217/global-npm-package-installed-but-command-not-found – AngYC
Ich habe bereits npm im Pfad so das nicht, aber trotzdem versucht, immer noch das gleiche:/ –
Ich weiß, es ist wahrscheinlich nicht das, aber vielleicht versuchen './index.js' anstelle von' index.js' für Ihre 'bin' Zuordnung? – nem035