javascript - tutorial - npm install
আমি কিভাবে সর্বশেষ সংস্করণে package.json প্রতিটি নির্ভরতা আপডেট করব? (20)
npm-চেক-আপডেট
npm-check-updates বর্তমান সংস্করণ সীমাবদ্ধতা নির্বিশেষে, আপনি আপনার প্যাকেজ.জson নির্ভরতাগুলি সাম্প্রতিক সংস্করণগুলিতে আপগ্রেড করতে পারবেন।
$ npm install -g npm-check-updates
$ ncu -u
নির্ভরতা আপডেট! এখানেই শেষ!
আমি অন্য প্রকল্প থেকে প্যাকেজ.জসন অনুলিপি করেছি এবং এখন সব নির্ভরতাগুলিকে তাদের সর্বশেষ সংস্করণগুলিতে টেনে আনতে চাই কারণ এটি একটি নতুন প্রকল্প এবং এটি ভাঙ্গলে কিছু ঠিক করার বিষয়ে আমি কিছু মনে করি না।
এটা করার সবচেয়ে সহজ উপায় কি?
আমি এখন জানি সবচেয়ে ভাল উপায় হল npm info express version
চালানো, তারপর প্রতিটিের জন্য package.json ম্যানুয়ালি আপডেট করুন। একটি ভাল উপায় হতে হবে।
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"engines": {
"node": "0.8.4",
"npm": "1.1.65"
},
"private": true,
"dependencies": {
"express": "~3.0.3", // how do I get these bumped to latest?
"mongodb": "~1.2.5",
"underscore": "~1.4.2",
"rjs": "~2.9.0",
"jade": "~0.27.2",
"async": "~0.1.22"
}
}
আমি এখন npm-check-updates একটি সহযোগী, যা এই সমস্যার একটি দুর্দান্ত সমাধান।
TLDR; (নতুন এনপিএম সংস্করণের জন্য আপডেট)
এই উত্তরগুলি মূলত লিখিত হওয়ার পরে কিছুটা পরিবর্তিত হয়েছে।
npm 2+: npm outdated
+ npm update
+ npm shrinkwrap
পুরোনো npm: npm-check-updates
প্যাকেজ + npm shrinkwrap
আপনার deps সঙ্কুচিত করতে ভুলবেন না, অথবা আপনি একটি মৃত প্রকল্পের সঙ্গে বায়ু হতে পারে। আমি অন্য একটি প্রকল্প টেনে নিয়েছিলাম এবং এটি চালানো হবে না কারণ আমার ডেপুটি পুরনো / আপডেট / একটি জগাখিচুড়ি ছিল। যদি আমি সঙ্কুচিত হয়ে থাকি, তবে এনপিপিটি আমার যা প্রয়োজন তা ইনস্টল করে।
বিস্তারিত
অদ্ভুত জন্য যারা এই পর্যন্ত তৈরি, এখানে আমি সুপারিশ কি:
সর্বশেষ সংস্করণগুলি সুপারিশ করার জন্য npm-check-updates
বা npm outdated
ব্যবহার করুন।
# `outdated` is part of newer npm versions (2+)
$ npm outdated
# If you agree, update.
$ npm update
# OR
# Install and use the `npm-check-updates` package.
$ npm install -g npm-check-updates
# Then check your project
$ npm-check-updates
# If you agree, update package.json.
$ npm-check-updates -u
তারপর একটি পরিষ্কার ইনস্টল করুন (w / o আর আমি কিছু নির্ভরতা সতর্কতা পেয়েছিলাম)
$ rm -rf node_modules
$ npm install
অবশেষে, npm-shrinkwrap.json
দিয়ে সঠিক সংস্করণগুলি npm-shrinkwrap.json
সংরক্ষণ করুন
$ rm npm-shrinkwrap.json
$ npm shrinkwrap
এখন, npm install
এখন npm-shrinkwrap.json
সঠিক সংস্করণ ব্যবহার করবে
আপনি npm-shrinkwrap.json
কে npm-shrinkwrap.json
পরীক্ষা করলে, সমস্ত ইনস্টলগুলি সঠিক একই সংস্করণ ব্যবহার করবে।
এটি উন্নয়নের (সমস্ত আপডেট, সব সময়) উৎপাদন থেকে স্থানান্তর করার উপায় (কেউ কিছুই স্পর্শ করে না)।
Ncu আপডেটের জন্য চেক করার জন্য একটি নতুন উপনাম। তাই করে প্যাকেজ.জson এনসিইউ তে আপনার ইউআর সংস্করণ নম্বর ম্যানুয়ালি আপডেট করতে হবে না। আপনি লিনাক্স মেশিনে থাকলে নীচের পদ্ধতিটি অনুসরণ করুন
sudo npm i -g npm-check-updates // decide between -u or -a ncu -u, --upgrade and overwrite package file ncu -a, --upgradeAll include even those dependencies whose latest version satisfies the declared server dependency sudo npm install
Updtr!
Npm পুরানো উপর ভিত্তি করে, updtr সর্বশেষ সংস্করণ ইনস্টল করে এবং প্রতিটি নির্ভরতার জন্য npm পরীক্ষা চালায়। পরীক্ষা সফল হলে, updtr নতুন সংস্করণ নম্বর আপনার প্যাকেজ.জসন সংরক্ষণ করে। পরীক্ষাটি ব্যর্থ হলে, আপড্রেট তার পরিবর্তনগুলিকে পিছিয়ে দেয়।
আপনি npm 5 এবং নোড 8 ব্যবহার করে নিম্নলিখিত কমান্ড ব্যবহার করে দেখুন
npm আপডেট - save
আপনি যদি আপনার আইডিই হিসাবে ভিসুয়াল স্টুডিও কোডটি ব্যবহার করতে থাকেন তবে এটি package.json
আপডেট করার জন্য একটি মজার সামান্য এক্সটেনশান। এক ক্লিক প্রক্রিয়া।
সংস্করণ লেন্স
আমি npm-check-updates থেকে নির্দেশাবলী দেখে এটি সমাধান করেছি
$ npm install -g npm-check-updates
$ ncu
$ ncu -u # to update all the dependencies to latest
$ ncu -u "specific module name" #in case you want to update specific dependencies to latest
আমি এই সংরক্ষণাগার npm-check
ব্যবহার করুন।
npm i -g npm npm-check
npm-check -ug #to update globals
npm-check -u #to update locals
অন্য দরকারী কমান্ড তালিকা যা package.json
সঠিক সংস্করণ নম্বর package.json
npm cache clean
rm -rf node_modules/
npm i -g npm npm-check-updates
ncu -g #update globals
ncu -ua #update locals
npm i
আমি সম্প্রতি তাদের gruntfile.js ম্যাজিক জন্য npm এবং package.json ব্যবহার করে বিভিন্ন প্রকল্প আপডেট ছিল। নিম্নলিখিত bash কমান্ড (multiline কমান্ড) আমার জন্য ভাল কাজ করেছে:
npm outdated --json --depth=0 | \
jq --ascii-output --monochrome-output '. | keys | .[]' | \
xargs npm install $1 --save-dev
এখানে ধারণা: json হিসাবে jq
npm outdated
আউটপুট আউটপুট পাইপ করতে
(jq একটি জসন কমান্ড লাইন পার্সার / কোয়েরি টুল)
( --depth
npm outdated
জন্য --depth
আর্গুমেন্ট ব্যবহার লক্ষ্য করুন)
jq শুধুমাত্র উপরের স্তরের প্যাকেজ নাম আউট আউটপুট ফালা হবে।
অবশেষে xargs প্রতিটি LIBRARYNAME এক সময়ে একটি npm install LIBRARYNAME --save-dev
কমান্ড রাখে
উপরে একটি যন্ত্র রাননিংয়ের জন্য আমার জন্য কি কাজ করেছে: নোড = v0.11.10 osx = 10.9.2 npm = 1.3.24
এই প্রয়োজন:
xargs http://en.wikipedia.org/wiki/Xargs (আমি বিশ্বাস করি আমার মেশিনে নেটিভ)
এবং
jq http://stedolan.github.io/jq/ (আমি brew install jq
সঙ্গে এটি brew install jq
)
দ্রষ্টব্য: --save-dev
ব্যবহার করে --save-dev
কী ডেডডপারেন্সিজির ভিতর প্যাকেজ.জসনকে প্যাকেজ.জসনে আপডেট করা লাইব্রেরিগুলি কেবলমাত্র সংরক্ষণ করি, এটি আমার প্রকল্পগুলির একটি প্রয়োজনীয়তা ছিল, যা আপনার পক্ষে সম্ভব ছিল না।
পরে আমি সবকিছু একটি সহজ সঙ্গে gravy চেক
npm outdated --depth=0
এছাড়াও, আপনি বর্তমান সর্পিল ইনস্টল লাইব্রেরি সংস্করণগুলি পরীক্ষা করতে পারেন
npm list --depth=0
উপরের উত্তরের উত্তরের সাথে আমি যে একমাত্র ক্যাভিট পেয়েছি তা হল এটি সর্বশেষ সংস্করণে মডিউল আপডেট করে। এটি একটি অস্থির আলফা বিল্ড আপডেট করতে পারে মানে।
আমি যে npm-check-updates utility ব্যবহার করব। আমার গ্রুপ এই টুল ব্যবহার করে এবং এটি স্থিতিশীল আপডেট ইনস্টল করে কার্যকরভাবে কাজ করে।
Etienne উপরে বর্ণিত হিসাবে: ইনস্টল এবং এই সঙ্গে চালানো:
$ npm install -g npm-check-updates
$ npm-check-updates -u
$ npm install
এক সহজ ধাপ:
$ npm install -g npm-check-updates && ncu -a && npm i
একটি খুব দেরী উত্তর। কিন্তু কেউ সাহায্য করতে পারে।
এই বৈশিষ্ট্য npm v5
মধ্যে চালু করা হয়েছে। npm install -g [email protected]
ব্যবহার করে npm install -g [email protected]
আপডেট করুন
package.json
আপডেট package.json
মুছে ফেলুন
/node_modules
এবংpackage-lock.json (if you have any)
রান
npm update
। এই সেভভার উপর ভিত্তি করে, সর্বশেষে প্যাকেজ.জson নির্ভরতা আপডেট করা হবে।
খুব সাম্প্রতিক সংস্করণ আপডেট করতে। আপনি npm-check-updates
দিয়ে যেতে পারেন
এটি npm 1.3.15 হিসাবে কাজ করে।
"dependencies": {
"foo": "latest"
}
গ্রীনকিপার যদি আপনি জিথব ব্যবহার করেন। https://greenkeeper.io/
এটি একটি Github ইন্টিগ্রেশন এবং জিনিস সেট আপ অবিশ্বাস্যভাবে সহজ। ইনস্টল করার সময়, এটি স্বয়ংক্রিয়ভাবে আপনি নির্দিষ্ট কিছু (অথবা যদি চেয়েছিলেন) নির্দিষ্ট সংগ্রহস্থলগুলিতে পুল অনুরোধগুলি তৈরি করে এবং আপনার কোডটি সর্বদা আপ-টু-ডেট রাখে, আপনাকে নিজে নিজে কিছু করার জন্য জোর করে। পিআরএস তারপর একটি সিআই সেবা উপর একটি বিল্ড ট্রিগার করা উচিত এবং একটি সফল বা ব্যর্থ চেক উপর নির্ভর করে আপনি সমস্যাটি কি ঘটছে তা figuring আউট বা সিআই পাস পাস যখন সহজভাবে পিআর একত্রিত করতে পারেন।
নিচের দিকে, আপনি দেখতে পারেন যে প্রথম বিল্ড প্রথমে ব্যর্থ হয়েছে এবং একটি কমিটির ("নোড v6.9 এ আপগ্রেড করুন") পরীক্ষার পরে পরীক্ষা শেষ হয়েছে যাতে আমি অবশেষে পিআর মার্জ করতে পারি। অনেক ইমোজি সঙ্গে আসে, অত্যধিক।
আরেকটি বিকল্প https://dependencyci.com/ , তবে আমি তীব্রভাবে এটি পরীক্ষা করে নিই। প্রথম চেহারা দেখে গ্রিনকাইপার সাধারণ আইএমও তে আরও ভাল দেখায় এবং আরও ভাল ইন্টিগ্রেশন রয়েছে।
নিচের কোডটি (যা গৃহীত হয়েছিল) আমাকে কিছু লিখেছে, "এটি খুব লম্বা লাগে" এবং কিছুই করেনি। সম্ভবত বিশ্ব পতাকা ব্যবহার সমস্যা ছিল, idk।
npm i -g npm-check-updates
ncu -u
npm install
আমি আমার পাঠ্য সম্পাদক ব্যবহার করার সিদ্ধান্ত নিয়েছে এবং পরিবর্তে একটি আধা ম্যানুয়াল পদ্ধতির অনুসরণ।
আমি আমার package.json
নির্ভরতা থেকে নোটপ্যাড ++ পাঠ্য সম্পাদক থেকে এই (শুধুমাত্র অনেক বেশি) একটি তালিকা অনুলিপি করেছি:
"browserify": "10.2.6",
"expect.js": "^0.3.1",
"karma": "^0.13.22",
"karma-browserify": "^5.2.0",
আমি নিয়মিত এক্সপ্রেশনতে অনুসন্ধান মোড সেট করেছিলাম, ^\s*"([^"]+)".*$
প্যাটার্ন নামটি পেতে ^\s*"([^"]+)".*$
প্যাটার্ন এবং npm uninstall \1 --save-dev \nnpm install \1 --save-dev
দিয়ে এটি প্রতিস্থাপিত npm uninstall \1 --save-dev \nnpm install \1 --save-dev
। "সকলকে প্রতিস্থাপন করুন" -এ ক্লিক করুন। Otput এই ছিল:
npm uninstall browserify --save-dev
npm install browserify --save-dev
npm uninstall expect.js --save-dev
npm install expect.js --save-dev
npm uninstall karma --save-dev
npm install karma --save-dev
npm uninstall karma-browserify --save-dev
npm install karma-browserify --save-dev
আমি এটা ফিরে bash ফিরে কপি এবং প্রবেশ আঘাত। সবকিছু আপগ্রেড এবং জরিমানা কাজ ছিল। এখানেই শেষ.
"browserify": "^16.1.0",
"expect.js": "^0.3.1",
"karma": "^2.0.0",
"karma-browserify": "^5.2.0",
আমি মনে করি এটি একটি বড় চুক্তি নয়, যেহেতু আপনাকে এটি কেবলমাত্র তখনই করতে হবে, তবে আপনি সহজেই একটি স্ক্রিপ্ট লিখতে পারেন যা package.json
এবং আপনার প্যাকেজগুলিকে আপগ্রেড করে। আমার মনে হয় এটি এই উপায়ে ভাল, কারণ আপনি যদি কিছু বিশেষ প্রয়োজন আপনার তালিকাটি সম্পাদনা করতে পারেন, উদাহরণস্বরূপ একটি lib এর বর্তমান সংস্করণটি রাখা।
বিকল্প
"dependencies":{
"foo" : ">=1.4.5"
}
প্রতিবার আপনি npm আপডেট ব্যবহার করেন, এটি স্বয়ংক্রিয়ভাবে সর্বশেষ সংস্করণে আপডেট হয়। আরো সংস্করণ সিনট্যাক্সের জন্য, আপনি এখানে চেক করতে পারেন: https://www.npmjs.org/doc/misc/semver.html
npm-check-updates
একটি ইউটিলিটি যা স্বয়ংক্রিয়ভাবে প্যাকেজ.জসনকে সমস্ত নির্ভরতার সর্বশেষ সংস্করণের সাথে সমন্বয় করে
$ npm install -g npm-check-updates
$ ncu -u
$ npm install
package.json
জন্য NPM 3.10.10
package.json
আপডেট করতে ব্যবহৃত NPM 3.10.10
:
npm install -g npm-check-updates
ncu -a
npm install
পটভূমি:
আমি @ josh3736 থেকে সর্বশেষ কমান্ডটি ব্যবহার করছিলাম কিন্তু আমার package.json
আপডেট হয়নি। npm-check-updates -u
চলাকালীন আমি বর্ণনা পাঠটি লক্ষ্য করেছি npm-check-updates -u
:
নিম্নলিখিত নির্ভরতা তার ঘোষণা সংস্করণ পরিসীমা দ্বারা সন্তুষ্ট, কিন্তু ইনস্টল সংস্করণ পিছনে। আপনি npm আপডেট ব্যবহার করে আপনার প্যাকেজ ফাইলটি সংশোধন না করে সর্বশেষ সংস্করণটি ইনস্টল করতে পারেন। আপনি যদি আপনার প্যাকেজ ফাইলে নির্ভরতা আপডেট করতে চান তবে, ncu -a চালান।
এনপিএম-চেক-আপডেটের জন্য ডকুমেন্টেশনটি পড়ে আপনি পার্থক্যটি দেখতে পারেন:
-u, - আপগ্রেড: প্যাকেজ ফাইল overwrite
-a, - আপগ্রেডএল: এমনকি সেই নির্ভরতাগুলি অন্তর্ভুক্ত করুন যার সর্বশেষ সংস্করণ ঘোষিত সেমভার নির্ভরতা সন্তুষ্ট করে
npm-check-updates
টাইপ করার সময় npm-check-updates -u
বার্তাটি দেখানো হিসাবে npm-check-updates
জন্য একটি উপনাম। npm-check-updates -u
:
[INFO]: You can also use ncu as an alias
package.json
সব নির্ভরতা আপডেট করার জন্য আমি package.json
:
npm install -g npm-check-updates
ncu -u --packageFile package.json
অতিরিক্ত প্যাকেজ ছাড়া সমাধান
প্রতি নির্ভরতা এর সংস্করণ পরিবর্তন করুন *
:
"dependencies": {
"react": "*",
"react-google-maps": "*"
}
তারপর npm update --save
।
আপনার কিছু প্যাকেজ আপডেট করা হয়েছে, কিন্তু কিছু না?
"dependencies": {
"react": "^15.0.1",
"react-google-maps": "*"
}
এটি একটি চতুর অংশ, এর অর্থ আপনার "প্রতিক্রিয়া" এর স্থানীয় সংস্করণটি নতুনতম চেয়ে কম। এই ক্ষেত্রে npm ডাউনলোড এবং আপডেট "প্রতিক্রিয়া" প্যাকেজ। তবে "প্রতিক্রিয়া-গুগল-মানচিত্র" এর স্থানীয় সংস্করণটি নতুন হিসাবে একই।
আপনি যদি এখনও অপরিবর্তিত "আপডেট" করতে চান তবে আপনাকে node_modules
ফোল্ডার থেকে এই মডিউল মুছে ফেলতে হবে।
যেমন node_modules/react-google-maps
মুছে দিন।
অবশেষে আবার npm update --save
।
"dependencies": {
"react": "^15.0.1",
"react-google-maps": "^4.10.1"
}
npm update --save-dev
চালানোর জন্য ভুলবেন না যদি আপনি উন্নয়ন নির্ভরতা আপডেট করতে চান।