Um --prefer-offline
zu verwenden Sie zuerst Ihre Offline-Paket Repo-Setup.
Setup unsere Cache Lassen Sie sich in einem versteckten Verzeichnis im Home-Ordner:
yarn config set yarn-offline-mirror ./.npm-offline
auch eine Config haben Garne reinigen Sie den dowloaded tarballs gesetzt:
yarn config set yarn-offline-mirror-pruning true
Nun, wenn Sie yarn install
laufen in Bei einem Projekt werden die Module in diesem Verzeichnis zwischengespeichert, die Sie dann mit yarn --prefer-offline
abrufen können.
Wenn Sie später, vielleicht in einem neuen Projekt, aus dem Cache installieren möchten, müssen Sie die gewünschte Modulversion angeben, da es kein Konzept latest
hat.Einfachste ist einfach zu versuchen, hinzuzufügen:
diese Drucke
yarn add moment
Auf meinem Rechner:
error Couldn't find any versions for "moment" that matches "latest" in our cache.
Possible versions: "2.1.0, 2.13.0, 2.17.0, 2.17.1, 2.18.1, 2.19.1, 2.19.2, 2.19.3, 2.8.4"
// Note that above is not in semver order...
ich dann neueste offline mit installieren:
yarn add [email protected]
das Garn Blog post von @ erwähnt adrian erklärt, wie man einen Cache pro Projekt speichert und wie man das für sein Team festlegt, falls gewünscht. Ich selbst benutze nur einen Cache, um offline ideal neue Projekte starten zu können.
Soll dieser --prefer-offline-Befehl Standardverhalten auf den "Garn hinzufügen" -Prozess anwenden? Ich versuche ein eckiges Projekt mit Garn als Paketmanager zu erstellen, mit "ng new myproject". Dies muss mit Paketen geschehen, die bereits in den Cache heruntergeladen wurden (da unsere Organisation erfordert, dass diese Ressourcen aus Sicherheitsgründen gesperrt werden). Da der Winkel-Cli nicht scheint, Faden zu sagen, das Flag "--offline" zu verwenden, scheint die Anforderung des Cache-Speichers nicht wirksam zu sein. – eugene
Es sieht nicht so aus, als ob Garn in seiner Konfiguration "offline" oder "prefer-offline" akzeptiert, so dass die Option out ist. Außerdem akzeptiert 'ng' nur' npm', 'garn' oder' cpnm', wie in 'ng set --global packageManager = *'. Also wäre mein Ansatz, 1) nicht "cpnm" installiert zu haben und 2) ein Bash-Skript in deinem Pfad namens "cpnm" zu erstellen, das Garn mit dem Flag "--prefer-offline" aufruft. Dann setze 'cpnm' als Standard-Paketmanager für' ng' – cyberwombat