Ich habe jshint mit installiert sudo npm install -g jshint
und es scheint funktioniert zu haben:
$which jshint
/usr/local/bin/jshint
Das Laufen jshint
oder sein vollständiges Pfadäquivalent scheint jedoch nichts zu bewirken. Es gibt auch keinen Fehler - es macht einfach nichts:
$jshint
$jshint --help
$jshint --verbose
$jshint --debug
$jshint admin.js
$jshint admin.js --verbose
$/usr/local/bin/jshint admin.js
Ich habe auch versucht, NodeJS gemäß dieser Antwort zu verknüpfen :
$sudo ln -s /usr/bin/nodejs /usr/bin/node
$jshint admin.js --verbose
$jshint admin.js
$jshint --help
$man jshint
No manual entry for jshint
See 'man 7 undocumented' for help when manual pages are not available.
Was fehlt mir hier?
Bearbeiten: Hier ist die Ausgabe von apt-cache policy nodejs npm
. Ich verwende nur die Standardpakete von Ubuntu 14.04, daher ist daran nichts Besonderes:
└─>apt-cache policy nodejs npm
nodejs:
Installed: 0.10.25~dfsg2-2ubuntu1
Candidate: 0.10.25~dfsg2-2ubuntu1
Version table:
*** 0.10.25~dfsg2-2ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
100 /var/lib/dpkg/status
npm:
Installed: 1.3.10~dfsg-1
Candidate: 1.3.10~dfsg-1
Version table:
*** 1.3.10~dfsg-1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
100 /var/lib/dpkg/status
apt-cache policy nodejs npm
?Antworten:
Die offiziellen Repos sind ein Chaos ...
Die Installation von Node und npm über die offiziellen Repositories hat mir immer Probleme bereitet. Ich vermute , dass dies zu Werkzeuge je nach Grund sein könnte
node
, wenn der tatsächliche Befehl auf Ubuntu istnodejs
, weshalb ein symbolischer Link zu schaffen sollte funktionieren. Bei meinem Schnelltest in einer virtuellen Maschine hat es bei mir funktioniert, aber da es bei Ihnen nicht funktioniert hat, versuchen wir etwas anderes ...Installieren Sie Node.JS also anders
Im Allgemeinen bevorzuge ich die Installation von Node unter Ubuntu mit NVM . Dadurch wird vermieden, dass der
node
Befehl unter Ubuntu nicht definiert wird, und es wird vermieden, dass die Berechtigungen durcheinander geraten , diesudo
zur Installation von npm-Modulen erforderlich sind.Gehen Sie wie folgt vor, um zu einer sauberen Tafel zurückzukehren:
Entfernen Sie alle globalen Module, die Sie mit npm installiert haben ( Anweisungen hier ):
Entfernen Sie den verknüpften Knotenordner:
Deinstallieren Sie die Kopien von
nodejs
undnpm
die Sie über die Ubuntu-Repositorys installiert haben:Reinigen Sie alle anderen Cruft:
An diesem Punkt
which node
,which nodejs
,which npm
, undwhich jshint
sollte alle Rückkehr nichts.Installieren Sie Node neu und überspringen Sie die offiziellen Repositories
Holen Sie sich die neueste Version von NVM (möglicherweise müssen Sie
sudo apt-get install curl
zuerst):Sagen Sie Ihrer Shell, sie zu benutzen
nvm
Installieren Sie dann eine Knotenversion
Und teilen Sie nvm mit, welche Version von Node Sie verwenden möchten
Jetzt sollten Sie in der Lage sein, Node mit dem
node
Befehl auszuführen , Module global ohne zu installierensudo
und eine Arbeitskopie von jshint zu erhalten.Wenn Sie nicht
nvm use v0.12
jedes Mal ausführen möchten, wenn Sie eine neue Terminalsitzung starten, können Sienvm use v
Ihre hinzufügen~/.bashrc
. Dasv
ist nichts Besonderes, es wird nur übereinstimmenv*
und die neueste Version finden. Alternativ können Sie eine bestimmte Version fest codieren.quelle
~/.bashrc
und füge die Zeile hinzunvm use v
. Dasv
ist nichts Besonderes, aber es sollte zu jeder Version (z. B.v0.12.2
) passen, damit nvm die neueste auswählen kann.