2017-07-23 2 views
0

Wir haben einen privaten npm Repository basierend auf Sinopiain package.json

Was soll ich in package.json definieren, dass einige Pakete werden von Synopia installiert werden eher dann von den globalen npm Repository?

Wenn ich es von der Kommandozeile installieren kann ich laufen: npm install <package_name> --registry <http://<server:port>

P. S. versuchte Google zu googeln und schaute in offizieller NPM-Dokumentation aber nichts gefunden.

+0

Was ist mit dem Hinzufügen des Pfades zu Ihrer privaten Bibliothek in den Abhängigkeiten in package.json. "Abhängigkeiten": { : "git + ssh: //[email protected] " } –

Antwort

2

Eines der Methode, die ich weiß, das ist von .npmrc Sie auch .npmrc auch innerhalb des Projekts

Set Konfiguration wie diese

registry = http://10.197.142.28:8081/repository/npm-internal/ 
init.author.name = Himanshu sharma 
init.author.email = [email protected] 
init.author.url = http://blog.example.com 
# an email is required to publish npm packages 
[email protected] 
always-auth=true 
_auth=YWRtaW46YWRtaW4xMjM= 

Auth kann durch Benutzernamen werden generieren können: Passwort echo -n 'admin: admin123' | openssl base64 Ausgang YWRtaW46YWRtaW4xMjM =

0

Der ganze Sinn der sinopia ist eine private registry und ein proxy zugleich. Sie können uplinks installieren Sie alle Ihre Pakete von einem Registrierungseintragspunkt. Sinopia ist in der Lage, zu jeder Registrierung zu routen, wenn der lokale Speicher die Abhängigkeit nicht auflösen kann. Standardmäßig ist er points bis npmjs.

Also, wenn Sie Ihre Konfiguration wie

# a list of other known repositories we can talk to 
uplinks: 
    npmjs: 
    url: https://registry.npmjs.org/ 

packages: 
    '@*/*': 
    # scoped packages 
    access: $all 
    publish: $authenticated 
    proxy: npmjs 

    '**': 
    # allow all users (including non-authenticated users) to read and 
    # publish all packages 
    # 
    # you can specify usernames/groupnames (depending on your auth plugin) 
    # and three keywords: "$all", "$anonymous", "$authenticated" 
    access: $all 

    # allow all known users to publish packages 
    # (anyone can register by default, remember?) 
    publish: $authenticated 

    # if package is not available locally, proxy requests to 'npmjs' registry 
    proxy: npmjs 

setzen sollten Sie in der Lage sein, alle Ihre Abhängigkeiten zu lösen, unabhängig von der Quelle eines jeden von ihnen

btw: sinopia nicht mehr aufrecht erhalten hat.