اذهب إلى المحتوى

السؤال

نشر (معدل)

أعمل على مشروع يتطلّب حصراً النسخة 12 ومافوق من node.js لكي يعمل بالشكل الصحيح. هل يوجد طريقة تمكنني من تحديد رقم النسخة ضمن package.json وبالتالي عندما يقوم باقي المطورين بتحميل حزم المشروع يتم تنبيههم إلى ضرورة وجود هذه النسخة أو في حال يجب عليهم تحديث النسخة الحالية؟

تم التعديل في بواسطة Bassel Jhr

Recommended Posts

  • 1
نشر

engineStrict تم إهمالها على ما اعتقد لذا يمكنك القيام بالتالي:

# معرفة النسخة
import semver from 'semver';
import { engines } from './package';
const version = engines.node;
if (!semver.satisfies(process.version, version)) {
  console.log(`Required node version ${version} not satisfied with current version ${process.version}.`);
  process.exit(1);
}
# package.json:
{
  "name": "my package",
  "engines": {
    "node": ">=50.9" // intentionally so big version number
  },
  "scripts": {
    "requirements-check": "babel-node check-version.js",
    "postinstall": "npm run requirements-check"
  }
}
#.nvmrc   ثم إنشاء  ملف

 
  • 1
نشر

نعم يمكن ذلك عن طريق تحديد النسخة المدعومة ضمن حقل engines في ملف package.json

{
  "engines": {
    "node": ">=12"
  }
}

ولكي تلزم بقية الفريق بهذه النسخة حصرا ولا تجعل وجودها مجرد تفضيل تقوم بإنشاء ملف .npmrc بجانب ملف package.json وتضع فيه السطر

engine-strict=true

بعد هذا الإعداد سينتج خطأ عند في حال النسخة مخالفة للمواصفات المدعومة التي ذكرتها في package.json

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...