Verdaccio Notlarım
Tüm Ağ Arayüzlerine Cevap Versin
Tüm ethernet arayüzlerinden gelen istekleri yanıtlasın istersek:
config.yaml
dosyasında listen anahtarı dizi olarak değer alıyor.
Not: yaml içinde -
ile başlayan değerler “dizi” olduğuna delalet eder :)
Demek çeşitli network arayüzlerini girebiliriz ve 0.0.0.0
arayüzüne 4873
portundan yani tüm ağ arayüzlerine 4873 portundan gelen isteklere verdaccio cevap versin istiyoruz.
# path to a directory with all packages
storage: ./storage
# path to a directory with plugins to include
plugins: ./pluginsweb:
title: Verdaccio
# comment out to disable gravatar support
# gravatar: false
# by default packages are ordercer ascendant (asc|desc)
# sort_packages: ascauth:
htpasswd:
file: ./htpasswd
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
# max_users: 1000listen:
- localhost:4873
- 0.0.0.0:4873
Scope Bazlı Npm Sunucusunu Ayarla
Paketleri kapsamlarına göre farklı registry adreslerine yönlendirmek için uplinks
ve packages
kullanılacak.
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: http://registry.npmjs.org/
cache: true
# Önce proxy adresini tanımla
cinar:
url: http://192.168.13.183:4873
cache: falsepackages:
# Özelden (@cinar/*) genele (@*/*) doğru
'@cinar/*':
# @cinar scope'una gelen paket isteklerini
# cinar proxy'sine yönlendir
access: $all
proxy: cinar
'@*/*':
# scoped packages
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
Yasaklı Erişim (403)
publish veya unpublish yapmaya çalışıyor ama başaramıyorum. Çünkü bu işlem yasaklı ancak yetkili bir kullanıcıyla erişinceye kadar.
En basit çözüm sizin private sunucunuz ve dışarıya kapalı ise gelin bunu all ile herkesin erişimine açalım.
Uplink is down, refuse to publish
npm ERR! code E503
npm ERR! 503 Service Unavailable - PUT http://192.168.13.33:4873/@cinar%2fcn-nrf - one of the uplinks is down, refuse to publish
İstemci offline olduğunda verinin yüklenmesini istemiyor gibi bir durumu Verdaccio kabul etmiyormuşşşşş. Her neyse çözümü config.yml dosyasına şu satırları eklemek:
publish:
allow_offline: false
Konuyla ilgili verdaccio sitesinde şu var:
Varsayılan olarak verdaccio, istemci çevrimdışıyken yayınlanmasına izin vermez; bu, true olarak ayarlanarak bu davranış geçersiz kılınabilir.
uplinks:
mirror:
url: xxxxxxxxxxxxxxxxxxxxxxx
packages:
'@*/*':
access: $all
publish: $authenticated
proxy: mirror
'lodash':
access: $all
publish: $authenticated
'**':
access: $all
publish: $authenticated
proxy: mirror
publish:
allow_offline: true
Referanslar:
Max Body Size *
18:03:11 npm http fetch PUT 413 http://192.168.13.33:4873/@cinar%2fcn-main 2384ms
18:03:11 npm verb stack Error: 413 Payload Too Large - PUT http://192.168.13.33:4873/@cinar%2fcn-main - request entity too large
18:03:11 npm verb stack at res.buffer.catch.then.body (/usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:104:15)
18:03:11 npm verb stack at process._tickCallback (internal/process/next_tick.js:68:7)
18:03:11 npm verb statusCode 413
18:03:11 npm verb pkgid @cinar/cn-main@0.0.11
Çözümü: