Wie kann man es vermeiden npm module global installieren zu müssen?

Jun 5 (22:10)

Vue CLI oder Angular CLI und auch andere Pakete geben vor, dass sie global installiert werden müssen. Das würde ich gerne vermeiden, weil ich zB. bei verschiedenen Projekten auch verschiedene Versionen der Pakete verwenden möchte / muss. Gibt es dazu eine einfache Möglichkeit?

Alle Kommentare
matthias Jun 9 (00:57)

Dazu gibt es drei Möglichkeiten:

1) Man kann die Pakete lokal installieren und mit Hilfe von npm ausführen. Dazu müssen sie einfach nur unter "scripts" in package.json eingetragen werden:

"scripts": {
  "foobar": "ng"
}

Mit npm run foobar help kann das Script gestartet werden (in diesem Fall Hilfe für Angular CLI)

2) Man kann für zB. die bash im .profile ein kleines Skript (http://2ality.com/2016/01/locally-installed-npm-executables.html) eintragen:

function npm-do { (PATH=$(npm bin):$PATH; eval $@;) }

Damit können die lokal installierten Pakete mit $npm-do ng help gestartet werden.

3) Die gleiche Funktion wie das obere Script hat man auch mit npx (https://www.npmjs.com/package/npx). Kleines Beispiel:

$ npm install @angular/cli
$ npx ng new test-app

Damit kann Angular CLI lokal installiert werden und dann über npx und ng ein neues Projekt angelegt werden.

0 0 0
Noch keine Stimmen abgegeben
Durch die Nutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Außerdem werden teilweise auch Cookies von Diensten Dritter gesetzt. Genauere Informationen finden Sie in unserer Datenschutzerklärung sowie im Impressum.