npm Installation ohne symlinks option funktioniert nicht
Ich einrichten einer Entwicklungsumgebung mit Windows 8 und Ubuntu als virtuelle Maschine. Für die, die ich benutze VirtualBox.
Ich auch zu verwalten, erstellen Sie einen freigegebenen Ordner in VirtualBox.
In diesem freigegebenen Ordner, die ich versuchen, ein Projekt zu starten, mit der ember-generator, der Yeoman.
yo ember --skip-install --karma
npm install --no-bin-links
Für die Installation von NPM-Module ich verwenden Sie die option "--no-bin-links" erstellen von symbolischen links. Leider habe ich immer noch Fehler Kreationen symbolische links ... Ist, was ich verwenden, obwohl diese option ? Dort hat er einen Fehler ?
- sind Sie mit npm aus der windows-Eingabeaufforderung oder über eine bash-Eingabeaufforderung?
- Für mich klingt wie ein bug-report eher als eine Frage.
- haben Sie schon weitere Fortschritte?
- Nein, ich habe meine Lösung. Ich glaube nicht, verwenden Sie freigegebene Ordner.
- Haben Sie einen Blick auf npmjs.com/package/install-local
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den NPM docs über den parameter "--no-bin-links" sagen:
Wird nur dazu führen, NPM nicht schaffen, links in die
node_modules/.bin
Ordner. Ich suchte auch nach einem Weg, um zu verhindern, dass NPM von der Erstellung von symlinks bei der Verwendungnpm install ../myPackage
, aber finde keine Lösung...Update: Der npm-support-team sagte, diese reproduzieren das alte Verhalten (keine symbolischen links):
Funktioniert bei mir im git-bash unter Windows 10.
package.json
: stackoverflow.com/a/54588310/2598101Ich habe eine ähnliche Umgebung. Anscheinend ist der virtualbox (Gast) - synchronisation hat Probleme beim umbenennen oder verschieben von Dateien, was passiert beim aktualisieren der Module. Wenn Sie ein Datei-listing (ls -alhp) auf der Befehl Linie und sehen ??? für die Datei-Berechtigungen, dann ist es Zeit, starten Sie Ihr virtualbox. Dies setzt die Berechtigungen auf gültige Werte. Dann verwenden Sie die --no-bin-links-option bei der Installation eines Moduls.
Dieser Stack-Overflow-Seite kommt in den Google-Suchergebnissen, wenn Sie versuchen, das Problem zu lösen, installieren lokalen Module (dh.
npm install ../myPackage
) und wollen nicht symbolischen links. Also ich bin das hinzufügen dieser Antwort unten, um anderen zu helfen, wer am Ende hier.Lösung #1 - Für die Entwicklungsumgebung.
Mit der vorgeschlagenen Lösung durch die NPM-support-team wie bereits in der anderen Antwort funktioniert...
Dies ist gut in die Entwicklungsumgebung für manuelle Installationen.
Lösung #2 - Für die build-Umgebung.
Jedoch, in unserem Fall, die Entwicklung Umwelt nicht ganz egal wie viel, obwohl, weil beim Begehen unsere änderungen von Git, die
./node_modules/
Ordner wird ja eh ignoriert.Dateien
./package.json
und./package-lock.json
ist, was wichtig ist und getragen wird in unsere build-Umgebung.In unsere build-Umgebung (Teil unserer automatisierten CI/CD-pipeline), die automation läuft einfach die
npm install
Befehl und erstellt aus den Abhängigkeiten aufgeführt, die in derpackage.json
Datei.So, hier ist, wo das problem betrifft uns. Die lokal referenzierten Dateien in der Liste Abhängigkeiten der
package.json
Ursachen symlinks zu erscheinen. Jetzt sind wir wieder bei dem alten problem. Diese Verknüpfungen dann dazu hinreißen, in der build-Ausgabe, die sich bewegen auf der Bühne und Produktion-Umgebungen.Was haben wir stattdessen verwenden
rsync
im Archiv-Modus mit der--copy-links
option, stellt sich symbolische links in Kopien der Originale.Hier ist, was der Befehl sieht wie in den automatisierten build: