389 Stimmen

Wie kann ich ein privates NPM-Modul ohne meine eigene Registrierung installieren?

Ich habe einigen gemeinsam genutzten Code in ein NPM-Modul aufgenommen, das ich nicht in die zentrale Registrierung hochladen möchte. Die Frage ist, wie ich es aus anderen Projekten installieren kann.

Der naheliegendste Weg ist wahrscheinlich, eine eigene NPM-Registrierung einzurichten, aber laut der Dokumentation ist das mit viel Aufwand verbunden.

Kann ich einfach ein NPM-Modul installieren, das sich im lokalen Dateisystem befindet, oder vielleicht sogar aus Git?

npm install --from-git git@server:project

4voto

Lars Punkte 9591

Ich verwende das Folgende mit einem privaten Github-Repository:

npm install github:mygithubuser/myproject

3voto

sapy Punkte 7878

Sehr einfach -

npm config set registry https://path-to-your-registry/

Es setzt tatsächlich registry = "https://path-to-your-registry" diese Zeile zu /Users/<ur-machine-user-name>/.npmrc

Alle Werte, die Sie explizit eingestellt haben oder die standardmäßig eingestellt wurden, können Sie mit - npm config list

3voto

Dominik Punkte 639

Sie können verwenden Verdaccio für diesen Zweck, eine leichtgewichtige private npm-Proxy-Registry, die in Node.js integriert ist. Außerdem ist sie frei und Open-Source. Durch die Verwendung von Verdaccio gibt es nicht so viel Ärger wie bei einer einfachen privaten npm-Registry.

Ausführliche Informationen zur Installation und zum Betrieb des Programms finden Sie unter auf ihrer Website aber hier sind die Schritte:

Sie erfordert node >=8.x .

    // Install it from npm globally
    npm install -g verdaccio

    // Simply run with the default configuration that will host the registry which you can reach at http://localhost:4873/
    verdaccio

    // Set the registry for your project and every package will be downloaded from your private registry
    npm set registry http://localhost:4873/

    // OR use the registry upon individual package install
    npm install --registry http://localhost:4873

Es hat auch einen Docker, so dass Sie es leicht zu Ihrem öffentlich zugänglichen Docker veröffentlichen können und voila, Sie haben ein privates npm-Repository, das an andere verteilt werden kann, so wie Sie es konfigurieren!

2voto

Alex Belozerov Punkte 451

Config zur Installation aus dem öffentlichen Github-Repository, auch wenn der Rechner unter einer Firewall liegt:

dependencies: {
   "foo": "https://github.com/package/foo/tarball/master"
}

2voto

Fareed Alnamrouti Punkte 28431
  • Veröffentlichen Sie Ihr Modul unter einem Organisationsnamen mit dem Standard "@meine-org/mein-modul" (standardmäßig sind alle Organisationsmodule privat).
  • Erstellen Sie in Ihrem npm-Profil unter "Access Tokens" ein schreibgeschütztes Zugriffstoken
  • Als nächstes erstellen Sie in Ihrem Projektverzeichnis Root eine .npmrc und schreiben Sie in diese Datei Folgendes:

    //registry.npmjs.org/:_authToken=${Your_Access_Token}

Hinweis: Dies sollte auch für andere Verpackungsdienste funktionieren, die denselben Standard verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X