स्थापित पैकेज के साथ bower.json को कैसे अपडेट करें?


129

मेरे प्रोजेक्ट में मैंने bowerबिना सेव ऑप्शन के कंपोनेंट्स इंस्टॉल किए हैं । अब, मैं अपडेट करना चाहूंगा bower.json?

मैं स्थापित पैकेज के साथ bower.json को कैसे अपडेट कर सकता हूं?


2
ऐसा करने के लिए एक कदम तरीके की कमी काफी कमी की तरह लगता है। चूंकि एक अनइंस्टॉल कमांड है, ऐसा लगता है कि bower installबिना रनिंग --saveहमेशा कठिन होगा और कभी आसान नहीं होगा।
क्रिस

1
यदि आपके bower.json में कुछ भी नहीं है, तो इसे हटा दें और bower initअपने कंसोल में टाइप करें।
जीन-ल्यूक

जवाबों:


146

बस अपनी निर्भरता सूची:

bower list

फिर आपको इस तरह से सभी स्थापित कमांड चलाने चाहिए '--save':

bower install bootstrap --save

यह एक कठिन काम है, लेकिन अगर आपके पास एक हजार निर्भरताएं हैं, तो क्या आप कार्य को स्वचालित करने के लिए एक स्क्रिप्ट बना सकते हैं।


यह एक बेहतरीन जवाब है। धन्यवाद!
जिस्सेग्विन

1
मैंने पाया कि यह सिर्फ ~ 10 पैकेजों के साथ समस्याग्रस्त हो गया है, क्योंकि यह स्पष्ट नहीं है कि कौन से पैकेज दूसरों की निर्भरता के रूप में डाउनलोड किए गए थे, जिसके कारण संस्करण संख्याओं के लिए संकेत दिया गया था। यहां तक ​​कि सही उत्तरों के साथ, परिणामस्वरूप bower.json फ़ाइल काफी सही नहीं थी। मैंने सेबेस्टियन के जवाब के साथ काम किया, जिसने मेरे लिए काम किया।
gb2d 11

जो निर्भरताएं bower.json में घोषित नहीं हुई हैं, उन्हें कंसोल पर "एक्सट्रॉनिक" टैग द्वारा पहचाना जाता है।
ओटावियोडेम्पोस 13

135

एक छोटी सी चाल यदि आप उसके लिए एक स्क्रिप्ट लिखना नहीं चाहते हैं:

उदाहरण के लिए bower2.json में अपना कुछ भी नाम बदलने से पहले।

तो आप कर सकते हैं:

$ bower init

(स्वचालित रूप से एक bower.json फ़ाइल बनाएं)।

ध्यान दें कि सभी प्रश्नों को आपके वर्तमान कॉन्फ़िगरेशन से पहले से भरा होना चाहिए।

जब यह आपसे पूछेगा:

वर्तमान में निर्भरता के रूप में स्थापित घटक सेट करें? हाँ बोलो,

अब आपके पास नई bower.json फ़ाइल में आपकी सभी निर्भरताएँ हैं (और आप जाँच सकते हैं कि क्या पुरानी bower2.json के साथ सब कुछ सही है)


यह करते समय रजिस्ट्री विकल्प का क्या उल्लेख है - मैंने यह मान लिया था कि यह कमांड सिर्फ एक स्थानीय चीज होगी। मैंने उस आसान प्रश्न के साथ अपना निजी चयन करने के लिए चुना, लेकिन यह सीखना चाहूंगा कि इसका क्या मतलब है - क्या किसी प्रकार की इंटरनेट बोवर रजिस्ट्री है। मैं सिर्फ इनलाइन सोच रहा हूं कि कैसे bower एक npm स्थापित कर सकता है इस तरह की चीज।
उतरा

2
@landed: कि बोवर संकुल रजिस्ट्री (होगा bower.io/search ) HTH
के लिए

यह मेरे लिए काम नहीं किया क्योंकि bower.jsonसूची नहीं थी angular:'1.5.5'। इसका कारण यह है कि मैं था angular-animateस्थापित किया है और के बाद से यह इस पर निर्भर करता angular 1.5.5बोवर शामिल नहीं करने का फैसला angularमें bower.json(पर विचार यह है कि यह वैसे भी स्थापित हो जाएगा जब कोई करता है bower installइस बात के लिए bower.json)। अगर किसी को निकालें यह एक मुद्दा हो जाएगा angular-animateसे bower.jsonजिस स्थिति में bowerस्थापित नहीं होगा angularभी क्योंकि इसकी सूचीबद्ध नहीं।
आकाश

35

थोड़ा कठिन तरीका है bower list, चलाने के लिए पैकेजों को देखो, जो बाहरी रूप से लेबल किए गए हैं और मैन्युअल रूप से उन पर निर्भरता में जोड़ते हैं bower.json

अगर वहाँ के एक बहुत हैं बाहरी संकुल, यह चलाकर इस समाधान करने के लिए आसान हो सकता है bower initऔर जवाब देने हाँ करने के लिए "निर्भरता के रूप में स्थापित वर्तमान में स्थापित घटकों?"। यह आपके वर्तमान को ले जाएगा bower.json, इसे पढ़ें और फिर पुराने से जानकारी का उपयोग करके नया बनाएं। इसलिए एक आदर्श मामले में आपके पास एक ही फाइल होगी जिसमें अतिरिक्त पैकेज जोड़े गए थे।

चेतावनी : सबसे पहले, प्रक्रिया में कुछ खो सकता है (उदाहरण के लिए devDependecies)। दूसरे में बोवर (v1.2.7) के अंतिम संस्करण में यह वर्तमान पैकेज जानकारी को संरक्षित नहीं करेगा ! मुझे लगता है कि यह एक बग है। हालाँकि आप पुरानी फ़ाइल को सहेज सकते हैं और (मैन्युअल रूप से) इसे जनरेट किए गए के साथ मर्ज कर सकते हैं।

साथ ही, आपको एक बोवर इश्यू खोलकर विकल्प या कुछ माँगना चाहिए क्योंकि यह कई डेवलपर्स द्वारा स्वागत किया जाएगा।


3
ध्यान दें: bower 1.3.3 वर्तमान संकुल जानकारी को संरक्षित करता है।
बिल केलर

27

आप बोवर-चेक-अपडेट का उपयोग कर सकते हैं (आपको अपनी मशीन पर स्थापित नोड। Js की आवश्यकता है):

bower-check-updates एक उपयोगिता है जो स्वचालित रूप से सभी आश्रितों के नवीनतम संस्करण के साथ एक bower.json को समायोजित करती है

बोवर की जांच-अपडेट - का एक कांटा है NPM-जांच अपडेट , तो यह सभी एक ही है, लेकिन अद्यतन है bower.json, बजायpackage.json

npm install -g bower-check-updates
bower-check-updates -u
bower install 

यह bower-check-updatesविश्व स्तर पर स्थापित होगा , इसलिए आप इसे कहीं से भी लॉन्च कर सकते हैं।

Npm-check-updates दलीलों के बारे में अधिक जानकारी के लिए PS इस विषय को देखें


हो सकता हैbower install
तमों

@ ÁmonTamás bower installने bower.json को अपडेट नहीं किया।
सर्गेई पैनफिलोव

5
बोवर-चेक-अपडेट के लेखक ने एनपीएम-चेक-अपडेट के पक्ष में परियोजना को हटा दिया है, जिसने bower.json को अपडेट करने के लिए समर्थन जोड़ा है।
कोन्गुसबोंगस

2

यदि आपके द्वारा स्थापित किए गए कई बोवर पैकेज नहीं हैं, तो लिखने का प्रयास करें bower install [package_name] --save। यह सिर्फ आपके bower.json फ़ाइल को अपडेट करेगा।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.