ইতিমধ্যে প্রকাশিত এনপিএম মডিউলটির নতুন নামকরণের কোনও উপায় আছে কি? আমি প্রকাশিত এপিআইয়ের সাথে আরও সঠিকভাবে আমার মডিউলটির নামটি পরিবর্তন করতে চাই তবে যারা ইতিমধ্যে এটিকে ইনস্টল করে ফেলেছে তাদের ছেড়ে যেতে চাই না।
ইতিমধ্যে প্রকাশিত এনপিএম মডিউলটির নতুন নামকরণের কোনও উপায় আছে কি? আমি প্রকাশিত এপিআইয়ের সাথে আরও সঠিকভাবে আমার মডিউলটির নামটি পরিবর্তন করতে চাই তবে যারা ইতিমধ্যে এটিকে ইনস্টল করে ফেলেছে তাদের ছেড়ে যেতে চাই না।
উত্তর:
এটি করার কোনও উন্মুক্ত উপায় নেই। অতীতে যখন আমি এর মুখোমুখি হয়েছিলাম তখন আমি যে পদ্ধতি গ্রহণ করেছি তা ছিল:
npm অবধি% প্রজেক্টনাম% @ "" <= পুট-সর্বশেষ-সংস্করণ-এখানে "" সতর্কতা: এই প্রকল্পটির নতুন নামকরণ করা হয়েছে% নিউপ্রজেক্টনাম%। পরিবর্তে% নতুনপ্রজেক্টনাম% ব্যবহার করে ইনস্টল করুন। "
সহজ কথায় আপনি পারবেন না। তবে এনপিএম আপনাকে একটি ভিন্ন সমাধান সরবরাহ করে npm deprecate
।
এটি কী করে তা হ'ল এই প্যাকেজের কোনও নির্দিষ্ট সংস্করণ বা সংস্করণ রেঞ্জকে অবচয় হিসাবে চিহ্নিত করা হয়েছে। সুতরাং এরপরে যদি কেউ এই প্যাকেজটি ইনস্টল করার চেষ্টা করে তবে তারা আপনার কাস্টম বার্তার পাশাপাশি একটি সতর্কতা প্যাকেজ অবহিত হবে, যাতে আপনি সহজেই আপনার নতুন প্যাকেজের নাম নির্দিষ্ট করতে পারেন।
ব্যবহার:
npm deprecate my-package-name@"< latest-version" "your message"
আপনার বার্তা যে কোনও জিনিস হতে পারে:
WARNING: This project has been renamed to your-new-package-name. Install using new-package-name instead.
24 ঘন্টােরও কম সময়ে আমি ভুল প্যাকেজ মুছতে কমান্ডটি অনুসরণ করে চলেছি।
npm unpublish <wrong package name> --force
ডকুমেন্টেশন থেকে:
রেজিস্ট্রি ডেটা অপরিবর্তনীয়, একবার প্রকাশিত হওয়ার পরে, একটি প্যাকেজ পরিবর্তন করতে পারে না। আমরা যারা এই প্যাকেজগুলির উপর নির্ভর করে তাদের সুরক্ষা এবং স্থিতিশীলতার কারণে আমরা এটি করি।
তবে নতুন প্রকাশিত প্যাকেজগুলি - hours২ ঘন্টার মধ্যে - এটি চালিয়ে অপ্রকাশিত করা যেতে পারে:
npm unpublish <package_name> -f
এটি এনপিএম রেজিস্ট্রি থেকে প্যাকেজটি সরিয়ে ফেলবে যদি এটি 72 ঘন্টারও কম আগে প্রকাশিত হয়েছিল । তারপরে আপনি আপনার প্যাকেজের নাম পরিবর্তন করতে পারেন এবং এটি আবার প্রকাশ করতে পারেন।
সতর্কতা: আপনি যদি একই নামের সাথে প্যাকেজটি পুনরায় প্রকাশ করার চেষ্টা করেন তবে আপনাকে 24 ঘন্টা অপেক্ষা করতে হবে
কেউ সহজেই এটি করার জন্য একটি সহজ সামান্য এনপিএম প্লাগইন তৈরি করেছেন 😊
https://www.npmjs.com/package/@tiaanduplessis/pkg-rename
npm -g install @tiaanduplessis/pkg-rename
pkg-rename old-package-name
ডকুমেন্টেশন থেকে:
এটি এনএমপি থেকে পুরানো প্যাকেজটির সর্বশেষতম সংস্করণ পাবে এবং এই এবং পূর্ববর্তী সমস্ত প্রকাশিত সংস্করণটিকে বার্তা সহ অবচয় করবে:
WARNING: This project has been renamed to new-package-name. Install using new-package-name instead.
--publish
একই কর্মের অংশ হিসাবে আপনি নতুন প্যাকেজের নাম প্রকাশ করতে পতাকাও যুক্ত করতে পারেন ।
pkg-rename old-package-name --publish
মনে রাখবেন, package.json প্যাকেজ নামান্তর প্রথম , তারপর চালানো pkg-rename
কমান্ড।
আমি একবার এই পরিস্থিতিতে ছিল। আমি bowser-or-node
পরিবর্তে নামের সাথে একটি প্যাকেজ প্রকাশ করেছি browser-or-node
।
প্যাকেজটির নতুন নামকরণের কোনও উপায় নেই, আপনাকে একটি নতুন প্যাকেজ অবহেলা এবং প্রকাশ করতে হবে।
যদিও অন্য একটি বিকল্প আছে। আপনি যদি কেবলমাত্র আপনার প্যাকেজটি প্রকাশ করেছেন (প্রকাশের সময় থেকে 24 ঘণ্টারও কম) এবং আপনি যদি নিশ্চিত হন যে আপনি প্যাকেজটি মুছতে ঠিক আছেন এবং সঠিক নামে একটি নতুন প্রকাশ করেছেন, আপনি এগিয়ে যেতে পারেন এবং এটি করতে পারেন। তবে এনপিএম আপনাকে প্যাকেজটি মুছে ফেলার অনুমতি দেবে না প্রকাশের সময় থেকে 24 ঘন্টা হয়ে গেলে।
ভাগ্যক্রমে আমি বুঝতে পেরেছিলাম যে আমি 20 মিনিটেরও কম সময়ে ভুল নাম দিয়ে প্রকাশ করেছি। সুতরাং আমি সবেমাত্র মুছে ফেলা এবং একটি নতুন নাম দিয়ে প্রকাশিত।
আমার কাছে কেবল দুর্দান্ত কিছু ঘটেছে: আমি একটি প্যাকেজটির নাম পরিবর্তন করতে পেরেছি। এটি প্রথমে স্টডআউট-রেন্ডারার হিসাবে পরিচিত ছিল, তবে আমি নামের প্রতিটি সম্ভাব্য ঘটনাটি পরিবর্তন করেছি এবং এটি নতুন নামটি (ক্লাই-আর্টিস্ট) এর অধীনে সদ্য আপডেট হওয়া তালিকায় অবহিত না করে মূল এবং ভয়েলা অবহেলা করার পরে এটি পুনরায় প্রকাশ করেছি। কোন ক্ষেত্রটি পরিবর্তন করতে হবে তা আমি নিশ্চিত নই, তবে আমি কল্পনা করব এটি প্যাকেজ.জেসনে রয়েছে কারণ কেবলমাত্র আমার ক্ষেত্রে কেসিংটি মিলছে।
আশা করি এইটি কাজ করবে!
<=
চেয়ে<
সম্ভবত এটি ব্যবহার করা আরও ভাল ?