2017-01-14 4 views

Antwort

5

Die $npm_execpath Umgebungsvariable bezieht sich auf das Build-Tool, so ersetzen Sie einfach npm mit dem $npm_execpath:

{ 
    "test": "$npm_execpath run lint && mocha" 
} 

Beide npm test und yarn test funktionieren wird, und wird das entsprechende Build-Tool verwenden.

+1

Das hat für mich funktioniert, bis ich auf einer Windows-Maschine bei der Arbeit arbeiten musste. Wo bekomme ich den Fehler "$ npm_execpath" wird nicht als interner oder externer Befehl erkannt "weiß jemand, wie dies unter Windows funktioniert? Ich bin etwas ahnungslos, wenn es um dieses Betriebssystem geht. – rgb

+0

@rgb Uh, Sie haben vielleicht kein Glück auf Windows, ich weiß nicht, wie die Dinge dort funktionieren. – mjs

+0

Wenn '$ npm_execpath' Leerzeichen enthält, kann es zu Problemen kommen, wenn Sie die Variable nicht in Anführungszeichen setzen. ZB "test": "\" $ npm_execpath \ "run lint && mocha" ' –

1

Während MJS' Antwort groß ist, gibt es auch ein kleines Paket, das auf allen Umgebungen, einschließlich Windows zu arbeiten vorgab ist: https://www.npmjs.com/package/yarpm

in einem Projekt zu verwenden, laufen yarn add yarpm --dev/npm i -D yarpm und dann benutzen Sie einfach yarpm in Ihren Skripten dies wie:

{ 
    "test": "yarpm run lint && mocha" 
} 

Als Paket Readme Notizen, müssen Sie nur auf Ihre Befehle stellen Sie sicher, für die durch zu entweder Garn oder npm geeignet wäre: Sie nicht verwenden können Argumente/Flags, die nur auf einem Paket arbeiten Manager.

Verwandte Themen