এক কমান্ডে কর্ডোভা প্লাগইন আপডেট করুন


124

আমি ভাবছি কর্ডোভা প্লাগইন আপডেট করার সহজ উপায় কি আছে?

আমি গুগল করেছিলাম, একটি হুক পেয়েছি (@ ২০১৩), তবে এটি আমার যা চাই তা ১০০% নয়।

আমি জানি যে আমি এটি দুটি ধাপে করতে পারি: আরএম, তারপরে যোগ করুন তবে কোন প্লাগইনগুলির নতুন সংস্করণ রয়েছে তা আমাকে সহায়তা করার জন্য আমি আরও ভাল (অফিসিয়াল) উপায় খুঁজছি? এবং আমি তাদের সমস্তকে একটি কমান্ডে আপডেট করতে পারি। (ঠিক যেমন: এনপিএম আপডেট)

উদাহরণ স্বরূপ:

$ cordova plugin list
/* list all installed plugins, their dependencies, and newer versions */

$ cordova plugin update
/* update all of them for me */

যদি কোনও সরকারী উপায় না থাকে, তবে অন্য কোনও সহায়ক আছে? ইয়ো?



এখানে একটি ব্যাশ স্ক্রিপ্ট যে এই আছে হল stackoverflow.com/a/36378949/5966317
nick.graziano

আমি আরও একধাপ এগিয়ে গেলাম এবং আমার pod update
আইওএস

উত্তর:


222

আমি ম্যানুয়ালি প্লাগইন আপডেটগুলি যাচাই করে ক্লান্ত হয়ে পড়েছি তাই এটি আমার জন্য করার একটি সরঞ্জাম তৈরি করেছে: https://github.com/dpa99c/cordova-check-plugins

এটি বিশ্বব্যাপী ইনস্টল করুন:

$ npm install -g cordova-check-plugins

তারপরে আপনার কর্ডোভা প্রকল্পের মূল থেকে চালান। আপনি allyচ্ছিকভাবে ইন্টারেক্টিভ বা স্বয়ংক্রিয়ভাবে পুরানো প্লাগইনগুলি আপডেট করতে পারেন, যেমন

$ cordova-check-plugins --update=auto

সি এল আই স্ক্রিনশট


দ্বিতীয় লাইনটি চালানোর সময় আমি ত্রুটি পেয়েছি: ত্রুটি যেমন: প্লাগইন: কর্ডোভা-প্লাগইন-স্ট্যাটাসবার উত্স: এনপিএম: // কর্ডোভা-প্লাগইন-স্ট্যাটাসবার ইনস্টল করা সংস্করণ: অজানা - এতিম প্রবেশের জন্য প্লাগইন / ফেচ.জসন চেক করুন। দূরবর্তী সংস্করণ: 2.1.1 আমি কীভাবে এটি সমাধান করতে পারি? আপনাকে ধন্যবাদ
অগ্নোস্কো

@Agnosco এটা মানে প্লাগইন স্থানীয় সংস্করণ সংখ্যা নির্ধারণ করতে পারবেন না কারণ দুর্নীতিগ্রস্ত এর সম্ভবত fetch.json। আমি ক্ষতিগ্রস্থ প্লাগইনটি ম্যানুয়ালি অপসারণ এবং পুনরায় ইনস্টল করার পরামর্শ দেব।
ডেভএলডেন 13

এটা আশ্চর্যজনক ! সম্ভাব্য বর্ধন হ'ল আপডেট করার সময় কমান্ডটিতে আরোগুলি দেওয়ার সম্ভাবনা যুক্ত করা, যেমন ফেসবুক প্লাগইনের মতো এটি স্বয়ংক্রিয়ভাবে আপডেট করা সম্ভব হবে এবং এই সমস্যাটি নাও রয়েছেError: Variable(s) missing (use: --variable APP_ID=value --variable APP_NAME=value)
জেরেমি বেলোলো

4
@ জেরেমিবেলো কর্ডোভা-চেক- প্লাগইনস_১.১.৪ আপডেট করার সময় ভেরিয়েবল সংরক্ষণে সহায়তা যোগ করে :-)
ডেভএলডেন

1
@ আল-মোতাহাফার এনপিপি-র মাধ্যমে কেন সুরক্ষা দুর্বলতার খবর দেওয়া হয়েছে তার উদ্দেশ্য আপনি ভুল বুঝেছেন। আপনার খোলার সমস্যাটিতে আমি যেমন বলেছি , এনএমপি দ্বারা রিপোর্ট করা প্যাকেজ দুর্বলতাগুলি এখানে অপ্রাসঙ্গিক কারণ এটি একটি সিএলআই সরঞ্জাম যা একটি স্থানীয় ডেভ মেশিনে স্থাপন করার জন্য ডিজাইন করা হয়েছে যেখানে কেবল আপনার অ্যাক্সেস রয়েছে, কোনও দূরবর্তী পাবলিক-ফেসিং সার্ভার নয় যেখানে তারা পারবেন হ্যাকার দ্বারা শোষণ করা।
ডেভএলডেন

61

আপনি এটি আপডেট করতে পারবেন না। আপনি যা করতে পারেন তা কর্ডোভা প্লাগইন আনইনস্টল করুন এবং এটি আবার যুক্ত করুন।

cordova plugin rm https://github.com/apache/cordova-plugin-camera --save
cordova plugin add https://github.com/apache/cordova-plugin-camera --save


52

আয়নিক স্থিতি ionic@3.7.0 তে অবহিত করা হয়

আপনি যদি আয়নিক এবং আয়নিক ক্লিপটি ব্যবহার করতে পারেন তবে আপনি চালাতে পারেন:

ionic state reset

যতক্ষণ না আগে আপনার সমস্ত প্লাগইন তথ্য আপনার প্যাকেজ.জসনে সংরক্ষণ করা হয়েছিল, এটি আপনার সমস্ত প্লাগইনগুলির জন্য মূলত একটি আরএম / যুক্ত করবে। কেবলমাত্র লক্ষ করুন যে এটি আপনার প্ল্যাটফর্মগুলিকে পাশাপাশি আরএম / যুক্ত করবে, তবে এটি কোনও বিষয় নয়।

আপনি যখন আপনার রেপো থেকে আপনার প্লাগইন ফোল্ডারগুলি উপেক্ষা করেন এবং অন্য কোনও মেশিনে প্রকল্পটি সেটআপ করতে চান তখন এটিও দুর্দান্ত nice

স্পষ্টতই এটি সরাসরি প্রশ্নের উত্তর দেয় না, তবে অনেক লোক বর্তমানে উভয়ই ব্যবহার করছে এবং এখানেই শেষ হবে।


আপনার যদি config.xmlফাইলটিতে প্লাগইনগুলি সংজ্ঞায়িত করা থাকে তবে আপনি সত্যিই কেবল প্লাগিনগুলি মুছতে পারেন এবং প্ল্যাটফর্মগুলিতে একটি rm / যোগ চক্র করতে পারেন। ionic platform addঅনুপস্থিত প্লাগইনগুলি স্পট করে এবং সেগুলি যুক্ত করবে। তবে কেবলমাত্র সংজ্ঞায়িত হয়েছেconfig.xml
গ্র্যান্ড্ট

ionic state resetঅবশ্যই প্লাগইনগুলি সরিয়ে দেয় - ionic state restoreএগুলি পুনরায় ইনস্টল করার প্রয়োজন হতে পারে।
এমসি

1
আয়নিক অবস্থা পুনরায় সেট করুন - আয়নিক-ভি 1 এ অবমূল্যায়ন করা হয়েছে যাতে আপনি আর এই আদেশটি ব্যবহার করতে পারবেন না।
ফ্রডম্যানজি

1
[ERROR] সিএনএল 3.0 হিসাবে আয়নিক অবস্থা সরানো হয়েছে। আমরা কর্ডোভা প্লাগইন এবং প্ল্যাটফর্ম পরিচালনা করতে সরাসরি কর্ডোভা ব্যবহার করার পরামর্শ দিই।
অনিল 8753

31

Npmjs.org থেকে অন্য উত্তর পেয়েছে

https://www.npmjs.com/package/cordova-plugin-update

মূলত এটি আপনার প্রকল্পে সরঞ্জামটি ইনস্টল করছে:

npm install -g cordova-plugin-update

কাজটি শেষ হয়ে গেলে কমান্ডটি চালাতে হবে

cordova-plugin-update

এবং যদি প্লাগইনের কোনও নতুন সংস্করণ উপলব্ধ হয় তবে এটি আপনাকে আপডেট করতে অনুরোধ করবে


আমি এটি চেষ্টা করেছিলাম কিন্তু এটি কনফিগ.এক্সএমএল থেকে প্লাগইনগুলি সরিয়েছে, প্যাকেজ.জেসন
পিটার টি।

27

এখানে আমি ব্যবহৃত একটি বাশ স্ক্রিপ্ট, ওএসএক্স 10.11.3 এ কাজ করে।

#!/bin/bash

PLUGINS=$(cordova plugin list | awk '{print $1}')

for PLUGIN in $PLUGINS; do
    cordova plugin rm $PLUGIN --save && cordova plugin add $PLUGIN --save
done

এটি শান এর প্রতিক্রিয়া , বিরোধ আছে যদি সাহায্য করতে পারে । পার্থক্য হ'ল --forceসরানোর সময় পতাকা যুক্ত করা।

#!/bin/bash

PLUGINS=$(cordova plugin list | awk '{print $1}')

for PLUGIN in $PLUGINS; do
    cordova plugin rm $PLUGIN --force --save && cordova plugin add $PLUGIN --save
done

1
এটি একটি দুর্দান্ত হ্যাক, তবে প্লাগইনগুলির জন্য ব্যর্থ হবে যেগুলি ইনস্টল করার পরে প্যারামিটারগুলির প্রয়োজন যেমন কর্ডোভা-প্লাগইন-ফেসবুক 4
সর্বোচ্চ

2
সংযোজন কর্ডোভা প্লাগইন আরএমকে সহায়তা করতে পারে
ড্যান জে

8

এক কমান্ডের সমস্ত প্লাগইন আপডেট করার জন্য এটি আমার উইন্ডোজ ব্যাচ সংস্করণ

ব্যবহারবিধি:

কমান্ড লাইন থেকে, প্রকল্পের একই ফোল্ডারে, চালান

c:\> batchNameFile

অথবা

c:\> batchNameFile autoupdate

যেখানে "batchNameFile" নীচে স্ক্রিপ্ট সহ .BAT ফাইলের নাম।

কেবলমাত্র পরীক্ষার জন্য (প্রথম এক্সপ্যামল) বা প্রতিটি আপডেটকে জগতে বাধ্যযোগ্য (২ য় উদাহরণ)

@echo off

cls

set pluginListFile=update.plugin.list

if exist %pluginListFile% del %pluginListFile%

Echo "Reading installed Plugins"
Call cordova plugins > %pluginListFile%
echo.

for /F "tokens=1,2 delims= " %%a in ( %pluginListFile% ) do (
   Echo "Checking online version for %%a"

   for /F "delims=" %%I in ( 'npm info %%a version' ) do (
     Echo "Local : %%b"
     Echo "Online: %%I"
     if %%b LSS %%I Call :toUpdate %%a %~1
     :cont
     echo.
   )
)

if exist %pluginListFile% del %pluginListFile%

Exit /B

:toUpdate
Echo "Need Update !"
if '%~2' == 'autoupdate' Call :DoUpdate %~1
goto cont

:DoUpdate
Echo "Removing Plugin"
Call cordova plugin rm %~1
Echo "Adding Plugin"
Call cordova plugin add %~1
goto cont

এই ব্যাচটি কেবল উইন্ডোজ 10 এ পরীক্ষা করা হয়েছিল


6

আপনার cordovaপ্রকল্প ডিরেক্টরিতে যান তারপর লিখুন

npm outdated

npmআপনার প্রদর্শিত হবে outdated plugins, যদি থাকে plugin outdatedতবে এই আদেশটি লিখুন

npm update

কনসোল পূর্বরূপ


4

npm update -f এটি আমার কাজ করে

npm আপডেট -f

এটি সমস্ত প্লাগইন এবং ক্লিপ আপডেট করবে

  • cordova-sqlite-storage@2.3.0
  • cordova-plugin-x-socialsharing@5.3.2
  • onesignal-cordova-plugin@2.3.3
  • @ আয়নের-নেটিভ / ডিভাইস @ 4.6.0
  • @ আয়নের-নেটিভ / স্ক্রিন-অভিযোজন @ 4.6.0
  • @ আয়নের-নেটিভ / onesignal @ 4.6.0
  • @ আয়নের-নেটিভ / স্থিতি-বার @ 4.6.0
  • @ আয়নের-নেটিভ / স্প্ল্যাশ-স্ক্রীন @ 4.6.0
  • @ আয়নের-নেটিভ / কোর @ 4.6.0
  • @ আয়নের-নেটিভ / সামাজিক আদান-প্রদানের @ 4.6.0
  • @ কৌণিক / CLI @ 1.7.3
  • কর্ডোভা প্লাগিন -স্প্ল্যাশস্ক্রিন @ ৫.০.৩- দেবে ৩২২ প্যাকেজ যুক্ত করেছে, ২৫ 25 টি প্যাকেজ সরিয়েছে, ৯১ টি প্যাকেজ আপডেট করেছে এবং packages৮০.66 সেটে ৮ টি প্যাকেজ সরিয়ে নিয়েছে

3

আমিও এই জাতীয় কিছু পছন্দ করবো - ফোনগ্যাপ / কর্ডোভা সিএলআইয়ের সাথে প্লাগইন পরিচালনা এত বিরক্তিকর। এখানে এই ব্লগ পোস্টটি এই জাতীয় কোনও কিছুর শুরু হতে পারে - তবে আমি নিশ্চিত না এ) কীভাবে এটি এখনও উপার্জন করতে হবে বা খ) এটি কতটা ভাল কাজ করবে।

http://nocurve.com/cordova-update-all-plugins-in-project

টার্মিনাল কমান্ড লাইনে পুরো স্ক্রিপ্টটি চালানোর আমার প্রথম প্রয়াস অ্যাড / রিমুভ প্লাগিন কমান্ডের সাহায্যে পাঠ্যের আউটপুট তৈরি করেছিল ... তবে তারা আসলে সম্পাদন করেনি তারা টার্মিনালের সাথে প্রতিধ্বনিত হয়েছিল। আমি লেখকের কাছে পৌঁছেছি আশা করি তারা আরও কিছুটা ব্যাখ্যা করবেন।


ব্লগ লেখক এখানে - আমি কেবল কমান্ডগুলি প্রতিধ্বনিত করেছি সে সম্পর্কে কোনও ধারণা নেই - সেগুলি চালানো উচিত ছিল - অবশ্যই স্ক্রিপ্টটির একটি পরীক্ষামূলক সংস্করণ আটকে রেখেছিল। যাইহোক, আশা করি এটি কাউকে সাহায্য করবে ...
আমনন

2

আপনি আপডেট করতে পারবেন না, তবে আমি একটি ব্যাচ ফাইল লিখেছিলাম যা আমার প্লাগইনগুলি সরিয়ে দেয় এবং আবার ইনস্টল করে case এক্ষেত্রে আমার সমস্ত প্লাগইন স্বয়ংক্রিয়ভাবে আপডেট হয়, আশা করি এটি আপনার সমস্যার সমাধান করে hope

@echo off
for %%a in (
"com.ionic.keyboard"
"com.phonegap.plugins.PushPlugin"
"cordova-instagram-plugin"
"cordova-plugin-camera"
"cordova-plugin-crosswalk-webview"
"cordova-plugin-file"
"cordova-plugin-file-transfer"

) do call cordova plugin rm %%a


for %%b in (
"com.ionic.keyboard"
"com.phonegap.plugins.PushPlugin"
"cordova-instagram-plugin"
"cordova-plugin-camera"
"cordova-plugin-crosswalk-webview"
"cordova-plugin-file"
"cordova-plugin-file-transfer"


) do call cordova plugin add %%b

আউটপুট থেকে প্লাগিনের নামগুলি স্ক্র্যাপ করতে এই স্ক্রিপ্টটি আপডেট করার কোনও উপায় cordova plugins?
মিশ্র 3 ই

1

সবচেয়ে সহজ উপায় হ'ল প্লাগইন ফোল্ডার মোছা। এই কমান্ডটি চালান: cordova prepare তবে এটি চালানোর আগে আপনি প্রতিটি প্লাগইনের সংস্করণ যা আপনার মনে হয় কর্ডোভার প্লাগইন রিপোজিটরি ওয়েবসাইটে আপনার বিল্ডের জন্য কাজ করবে বলে তা পরীক্ষা করে দেখতে পারেন এবং তারপরে আপনাকে নিজেই config.xml ফাইলটি পরিবর্তন করতে হবে। ভবিষ্যতে সাম্প্রতিক সংস্করণে আপনি নির্দিষ্ট প্লাগইনটি আপডেট করতে চান (পরবর্তী সময় আপনি কমান্ডটি চালাবেন।) নির্দেশিত করতে সর্বজনীন মডেলিং ভাষা ফাইলের সংস্করণ ক্ষেত্রের "upper" উপরের গাজর, "কনফিগারেশন" ব্যবহার করুন (


হিহি, উপরের গাজর, এটি পছন্দ করুন। এটাই আমার মুখে হাসি। আসলে এটি একবাক্য এবং একে ক্যারেট (^) বলে।
আলফাবেটা

0

আপনি যদি তৃতীয় পক্ষের প্যাকেজটি ইনস্টল করেন:

npm i cordova-check-plugins

এরপরে আপনি একটি সাধারণ কমান্ড চালাতে পারেন

cordova-check-plugins --update=auto --force

মনে রাখবেন যে কোনও কিছুকে জোর করে জোর করে পরিবর্তনগুলি ভাঙার সম্ভাব্য ঝুঁকি নিয়ে আসে।

অন্যান্য উত্তরে যেমন বলা হয়েছে, এই প্লাগইনগুলি পরিচালনা করে এমন সংযুক্ত এনপিএম প্যাকেজগুলিতেও প্লাগইনগুলি আপডেট করার সময় ফলস্বরূপ আপডেটের প্রয়োজন হয়, সুতরাং এখন আপনি এগুলি দিয়ে পরীক্ষা করতে পারেন:

npm outdated

এবং তারপরে এগুলি আপডেট করুন

npm update

এখন অস্থায়ীভাবে আপনার অ্যাপ্লিকেশনটিকে আবার পরিবেশন করুন এবং পরিবর্তনগুলি ভাঙ্গার ফলে সম্ভাব্যরূপে দুশ্চিন্তা হয়ে গেছে এমন সমস্ত বিষয় পরীক্ষা করুন। সফটওয়্যার বিকাশের আনন্দ! :)



আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.