নীচে প্যাচ রিলিজ 8.4.x> 8.4.y এর জন্য ঠিক আছে তবে ছোটখাট রিলিজ 8.4.x> 8.5.x এর জন্য ঠিক নেই । ঝাঁপ দাও আপডেট 3 আমি কি বিশ্বাস জন্য নিচে মাইনর রিলিজের আপডেটের জন্য "উত্তর" হয়।
1- ড্রুপালের সাথে আসা যে কোনও ফাইলের ব্যাকআপ করুন যা আপনি সংশোধন করেছেন, যেমন .htaccess, robots.txt ইত্যাদি those (এই 2 টি সর্বাধিক পরিবর্তিত)।
2- [আমাকে লক ফাইলটি মুছে ফেলা ভুল বলা হয়েছে, নীচে আপডেটের বিষয়টি দেখুন] কম্পোজারলক ফাইলটি মুছুন (আপনার সাইটের শীর্ষ স্তরের ফোল্ডারে)। এটি 5 ধাপে পুনরায় তৈরি করা হয়।
3- আপনার রচনাশক্তি জেসন পরীক্ষা করুন (আপনার সাইটের শীর্ষ স্তরের ফোল্ডারে) এবং নিশ্চিত করুন যে "ড্রুপাল: কোর" প্রয়োজনীয় বিভাগে রয়েছে এবং প্রতিস্থাপন বিভাগে নয়, উদাহরণস্বরূপ
"require": {
"drupal/core": "^8.4"
},
না
"replace": {
"drupal/core": "^8.4"
},
যদি "ড্রুপাল / কোর" প্রতিস্থাপন বিভাগে থাকে তবে এটি প্রয়োজনীয় বিভাগে সরান এবং প্রতিস্থাপন বিভাগটি মুছুন। প্রতিস্থাপন বিভাগে যদি অন্য এন্ট্রি থাকে তবে কেবল "ড্রুপাল / কোর" মুছে ফেলুন পুরো প্রতিস্থাপন বিভাগটি নয় - তবে আমি মনে করি "ড্রুপাল / কোর" সাধারণত সেখানে একমাত্র জিনিস।
"দ্রুপাল / কোর" -এ আপনি কোন সংস্করণে আপডেট করতে চান তা রাখুন, উদাহরণস্বরূপ:
"ড্রুপাল / কোর": "^ 8.5" - 8.5 এর সর্বশেষ সংস্করণে আপডেট হবে। "ড্রুপাল / কোর": "8.4.6" - 8.4.6 সংস্করণে আপডেট হবে।
5- এটি চালান (আপনার সাইটের শীর্ষ স্তরের ফোল্ডারে):
composer update drupal/core --with-dependencies
6- যদি কোনও ত্রুটি না থাকে তবে সাধারণ করুন, আপডেটগুলি চালনা করুন এবং ক্যাশে সাফ করুন:
drush updatedb
drush cr
অথবা যদি ড্রাশ ব্যবহার না করে থাকেন তবে আপডেটগুলি চালানোর জন্য /update.php এ যান, তারপরে অ্যাডমিন / কনফিগার / ডেভেলপমেন্ট / পারফরম্যান্স এবং "সমস্ত ক্যাশে সাফ করুন" বোতামটি চাপুন।
7- আপনি যদি প্রথম ধাপে ফাইলগুলি ব্যাক আপ করে রেখেছিলেন (.htaccess, robots.txt) এগুলিকে পিছনে রাখে। তবে দ্রুপাল সেই ফাইলগুলিতে আপডেট করেছে কিনা তা পরীক্ষা করে দেখুন এবং সেই পরিবর্তনগুলি আপনার যুক্ত করে।
সম্পন্ন
5 ধাপে সুরকার আপডেটে ত্রুটি থাকলে, এটি সাধারণত বিক্রেতা ফোল্ডারের স্টাফের সংস্করণগুলির সমস্যাগুলির কারণে হয়।
এই জাতীয় সমস্যাগুলি মোকাবেলায় এটি একটি দুর্দান্ত পোস্ট: https://www.jeffgeerling.com/blog/2018/updating-drupalcore-composer-drupal-core-doesnt-update এবং ড্রপাল এবং সুরকারের জন্য জেফের অন্যান্য 2 টি পোস্ট পড়ুন যে সম্পর্কে আরও জ্ঞান।
আমাকে টুইটারে 2 জন লোক জানিয়েছিল যে সুরকারক্লকটি মুছে ফেলা উচিত নয় (উপরে 2 ধাপ)। composer update drupal/core --with-dependenciesকমান্ড কোন পথে লক ফাইল recreates।
এই পদ্ধতির পরীক্ষায় আমি এটি 8.4.3> 8.4.6 (উদাহরণস্বরূপ) এর জন্য দুর্দান্ত কাজ করে দেখছি তবে আমি 8.4.6> 8.5.x এর জন্য ত্রুটি পেয়েছি get আমি এটি বের করার পরে ফিরে রিপোর্ট করব।
ত্রুটির উদাহরণ:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- symfony/yaml 3.4.x-dev conflicts with symfony/console[v3.2.8].
- symfony/yaml 3.4.x-dev conflicts with symfony/console[v3.2.8].
- symfony/yaml 3.4.x-dev conflicts with symfony/console[v3.2.8].
- drupal/core 8.5.0 requires symfony/yaml ~3.4.5 -> satisfiable by symfony/yaml[3.4.x-dev].
- Installation request for drupal/core 8.5.0 -> satisfiable by drupal/core[8.5.0].
- Installation request for symfony/console (locked at v3.2.8, required as ~3.2.8) -> satisfiable by symfony/console[v3.2.8].
জেফ জেরলিংয়ের এই পোস্টটি একই ধরণের সমস্যাগুলিকে সম্বোধন করে তবে এ পর্যন্ত আমার পক্ষে ভাগ্য নেই: https://www.jeffgeerling.com/blog/2018/updating-drupalcore-composer-drupal-core-doesnt-update
সুতরাং ... 8.4.x> 8.5.x এর জন্য কেবলমাত্র আমার জন্য কাজ করা মনে হচ্ছে এমন "পারমাণবিক বিকল্প" যা অন্য অনেকে ব্যবহার করছেন বলে মনে হয় যা চালিত composer update।
আমি অনুমান করি যে এটি ঠিক আছে ঠিক যতক্ষণ আপনি কম্পোজারজেজেসনের মডিউল সংস্করণগুলি সম্পর্কে নিশ্চিত। সম্ভবত তাদের বর্তমান সংস্করণে লক করা উচিত। উদাহরণ স্বরূপ:
"drupal/address": "1.3"
বরং:
"drupal/address": "^1.3"
তবে কি সঠিক উত্তর?
ঠিক আছে যে উত্তরটি সর্বত্র দেখা যাচ্ছে তা হল "পারমাণবিক বিকল্প" করা:
উ: /vendorফোল্ডারটি মুছুন ।
বি। চালিত করুন composer updateএবং কোর সহ আপনার মডিউলগুলি কেবল আপডেট করুন। অথবা, মডিউল সংস্করণগুলি composer.jsonআপডেট করতে না চাইলে এটিকে লক করে দিন ।
দ্রুপাল স্ল্যাকের একজন ব্যক্তি বলেছিলেন " সুরকারের পুরো দর্শনটি হ'ল আপনার সর্বদা প্যাকেজগুলি যত দ্রুত সম্ভব আপডেট করা উচিত" । প্যাকেজডে আমার মনে হয় এমন মডিউল রয়েছে। সুতরাং এটি অনুমান করে কিছুটা বোঝায়।
একবার আমি 8.4.6 থেকে 8.5.0 এ পেয়েছিলাম, এটি 8.5.0 থেকে 8.5.1 থেকে composer update drupal/core --with-dependenciesঠিক 8.4.3 থেকে 8.4.6 এর মতো করে পেতে ভাল কাজ করেছে।
আমি এই সিদ্ধান্তটি উপস্থাপন করতে শুরু করছি যে "উত্তরটি" হ'ল ভেন্ডার ফোল্ডার এবং কমপোজারলক ফাইলটি মুছে ফেলা, তারপরে ব্যবহার composer updateকরা ভাল one । আপনি কোন মডিউল সংস্করণ রাখতে চান বা আপডেট করতে চান তা পরিচালনা করার পক্ষে এটি এত বড় চুক্তি নয় composer.json।
উদাহরণ স্বরূপ:
"drupal/admin_toolbar": "1.18", মানে 1.18 এর সাথে লেগে থাকুন
"drupal/admin_toolbar": "^1.18", মানে এগিয়ে যান এবং আপডেট করুন তবে 1.x এর মধ্যে (2.x নয়)
এটি এই পোস্টে একটি মন্তব্য (জেনারেল রেডনেক) দ্বারা ব্যাক আপ করা হয়েছে: https://www.jeffgeerling.com/blog/2018/updating-drupalcore-composer-drupal-core-doesnt-update
"আমি এর মধ্যে একটি জিনিস আমি যেভাবে সমর্থনে কাজ করেছি তা হ'ল মডিউল এবং কোরগুলির সংস্করণগুলি লক করা একটি ভাল ধারণা যাতে আপনি যখন চান তখন জিনিসটি তাপীয় করতে পারেন কারণ বিভিন্ন প্লাগইনগুলির কিছু এমনকি সঠিকভাবে আচরণ করতে চান না এমন সময় থাকে ""
যাইহোক, সুরকারক্লক ফাইলটি কোনও সাহায্য নয় composer updateকারণ এটি ফুরিয়ে যায় ( composer installযেখানে তিনি লক ফাইলটি পড়েন তার বিপরীতে ):
চলমান composer installউইল:
composer.lockউপস্থিত আছে কিনা তা পরীক্ষা করুন
- যদি তা না হয় তবে একটি
composer updateতৈরি করতে একটি করুন
- যদি
composer.lockউপস্থিত থাকে তবে লক ফাইল থেকে নির্দিষ্ট সংস্করণগুলি ইনস্টল করুন
চলমান composer updateউইল:
- চেক
composer.json
- আপনার সংস্করণ চশমা উপর ভিত্তি করে ইনস্টল করতে সর্বশেষতম সংস্করণ নির্ধারণ করুন
- সর্বশেষতম সংস্করণ ইনস্টল করুন
composer.lockইনস্টল হওয়া সর্বশেষ সংস্করণগুলি প্রতিবিম্বিত করতে আপডেট করুন
রেফ: https://www.engineyard.com/blog/composer-its-all-about-the-lock-file
আমি এটি উপরে উল্লিখিত দেখছি: https://github.com/drupal-composer/drupal-project । আমি এটি ব্যবহার করেছি এবং এটি ঠিক আছে তবে এটি দ্রোপালের সাথে সুরকার ব্যবহারের জন্য প্রয়োজনীয়তা নয়। এটি নাম থেকে যেমন ধরণের "শব্দ" লাগছে তেমন এটি বিভ্রান্তিকর। আমি যখন প্রথম ড্রুপাল 8 দিয়ে শুরু করেছি তখন আমি ভেবেছিলাম এটি প্রয়োজন, তাই এটি আমার সেরা ডি 8 সাইটটি তৈরি করে, এটি ভেবেছিলাম এটি সেরা অনুশীলন।
দ্রুপালের সেই "সংস্করণ" -এ তিনি প্রকল্পের শীর্ষ ফোল্ডারে নয়, একটি / ওয়েব ফোল্ডারে ডক্রুট করেছেন। এছাড়াও সাধারণ দ্রুপালের তুলনায় .gitignore এ একগুচ্ছ পদার্থ যুক্ত রয়েছে:
/drush/contrib/
/vendor/
/web/core/
/web/modules/contrib/
/web/themes/contrib/
/web/profiles/contrib/
/web/libraries/
সুতরাং, দ্রুপালের এই সংস্করণটি সত্যিকার অর্থে এমন সাইটগুলির জন্য আরও বেশি বোঝানো হয়েছে যা সুরকার ইনস্টল ব্যবহার করে প্রতিটি স্থাপনার উপর ড্রুপালের একটি নতুন বিল্ড করতে অবিচ্ছিন্ন ইন্টিগ্রেশন ব্যবহার করে। আপনি যদি আরও সাধারণ পদ্ধতিতে মোতায়েন করেন তবে অবশ্যই আপনাকে উপরের সমস্ত জিনিসগুলি আপনার গিট রেপোতে প্রতিশ্রুতিবদ্ধ করতে হবে বা এটি আপনার সার্ভারে স্থাপন করা হবে না [1], এবং ড্রপাল চালানোর জন্য সেই জিনিসগুলি সমস্ত প্রয়োজন needed
[1] গিট যদি আপনার মোতায়েনের সাথে জড়িত থাকে - আপনি যদি এসএফটিপি-র সাথে স্থাপন করেন তবে এটিকে এড়িয়ে যান।