NPM Registry
مسار أوضح لسجل npm وpnpm وyarn وCI
قد تبدو تأخيرات تثبيت الحزم صغيرة، لكنها تتكرر عبر الأجهزة وCI وبناء الصور. صُممت npm.bounera.com للتحكم بهذه الطبقة بصورة أوضح.
npmpnpmyarnnpm.bounera.com
المشهد التشغيلي
NPM Registry
npm mirror
أين يلائم أكثر؟
في تهيئة الأجهزة، وmonorepos، وبناء صور Node.js، وخطوط JS وTS اليومية.
السرعة ليست القصة كلها
وضع رجیستری بشكل واضح داخل `.npmrc` وCI يجعل مسار الاعتماديات أوضح وأسهل للفريق.
مضيف الخدمة
npm.bounera.com
المنظومةnpm.bounera.com
npmpnpmyarnworkspace
بدء سريع
لأسرع بداية، وجّه رجیستری العام إلى بونرا ثم نفّذ تثبيتًا حقيقيًا.
npm
bash
أمر جاهز
مسار مُتحقَّق
npm config set registry https://npm.bounera.com/ && npm installpnpm
pnpm config set registry https://npm.bounera.com/ && pnpm install
yarn
yarn config set npmRegistryServer https://npm.bounera.com/ && yarn install
إعداد يدوي للمشاريع وCI وcorepack
في مستودعات الفريق، من الأفضل وضع رجیستری داخل ملفات المشروع أو automation حتى يستخدمه ورود اولیه المحلي وCI بالطريقة نفسها.
Project-level .npmrc
ini
أمر جاهز
مسار مُتحقَّق
registry=https://npm.bounera.com/
strict-ssl=true
fetch-retries=5
fetch-timeout=120000pnpm bootstrap
bash
أمر جاهز
مسار مُتحقَّق
corepack enable && pnpm config set registry https://npm.bounera.com/ && pnpm install --frozen-lockfileYarn Berry
yaml
أمر جاهز
مسار مُتحقَّق
npmRegistryServer: "https://npm.bounera.com/"
enableGlobalCache: true
checksumBehavior: "throw"CI .npmrc injection
bash
أمر جاهز
مسار مُتحقَّق
printf 'registry=https://npm.bounera.com/\n' > .npmrc && npm ciالتحقق والمعالجة الأولية
- استخدم `npm config get registry` أو `pnpm config get registry` للتأكد من نشانی الفعلي.
- إذا كنت تستخدم حزمًا خاصة بنطاقات معينة، فراجع إعدادات الـ scopes حتى لا تتعارض مع المسار العام.
- قارن `npm ci` أو `pnpm install --frozen-lockfile` في CI قبل التغيير وبعده مع شروط حافظه پنهان نفسها.
عودة مضبوطة
- إذا كان المشروع يستخدم `.npmrc`، فعادةً تكون العودة مجرد revert لهذا الملف.
- في الإعدادات العامة للأجهزة، احفظ قيمة رجیستری السابقة قبل التغيير حتى تبقى العودة نظيفة.
- إذا كان التأثير على scope واحد فقط، فأعده على مستوى scope بدل إعادة رجیستری بالكامل.
أين يعطي السجل أفضل قيمة
monorepos كبيرة
عندما تكون شجرة الاعتماديات ثقيلة، يحسن السجل الأفضل زمن التثبيت الأول والمزامنات اللاحقة.
CI runners مؤقتة
عندما لا يوجد حافظه پنهان ثابت، تظهر جودة رجیستری بصورة أوضح بكثير.
بناء صور Node.js
إذا كان كل Docker build يعيد تثبيت الاعتماديات، يصبح أثر التغيير على زمن البناء واضحًا.