ในโครงการของฉันฉันได้ติดตั้งbower
ส่วนประกอบโดยไม่บันทึกตัวเลือก ตอนนี้ฉันต้องการอัปเดตเป็นbower.json
หรือไม่
ฉันจะอัพเดต bower.json ด้วยแพ็คเกจที่ติดตั้งได้อย่างไร
bower init
ในคอนโซลของคุณ
ในโครงการของฉันฉันได้ติดตั้งbower
ส่วนประกอบโดยไม่บันทึกตัวเลือก ตอนนี้ฉันต้องการอัปเดตเป็นbower.json
หรือไม่
ฉันจะอัพเดต bower.json ด้วยแพ็คเกจที่ติดตั้งได้อย่างไร
bower init
ในคอนโซลของคุณ
คำตอบ:
เพียงแค่รายการการอ้างอิงของคุณ:
bower list
จากนั้นคุณควรรันคำสั่งติดตั้งทั้งหมดด้วย param '--save' ดังนี้:
bower install bootstrap --save
มันเป็นงานที่ยาก แต่ถ้าคุณมีการพึ่งพาเป็นพันคุณสามารถสร้างสคริปต์เพื่อทำให้งานเป็นไปโดยอัตโนมัติ
ก่อนที่จะทำสิ่งใดให้เปลี่ยนชื่อ bower.json ของคุณเป็น bower2.json
จากนั้นคุณสามารถทำ:
$ bower init
(สร้างไฟล์ bower.json โดยอัตโนมัติ)
โปรดทราบว่าคำถามทั้งหมดควรมีการกำหนดค่าล่วงหน้าไว้ล่วงหน้า
เมื่อไหร่จะถามคุณ:
ตั้งค่าคอมโพเนนต์ที่ติดตั้งอยู่ในปัจจุบันเป็นการอ้างอิง บอกว่าใช่,
ตอนนี้คุณมีการอ้างอิงทั้งหมดในไฟล์ bower.json ใหม่ (และคุณสามารถตรวจสอบว่าทุกอย่างเหมาะสมกับ bower2.json เก่า)
bower.json
angular:'1.5.5'
นี่เป็นเพราะฉันได้angular-animate
ติดตั้งและเนื่องจากมันขึ้นอยู่กับangular 1.5.5
bower ตัดสินใจที่จะไม่รวมangular
ไว้ในbower.json
(พิจารณาว่ามันจะติดตั้งมันต่อไปเมื่อมีคนทำbower install
เพื่อสิ่งนี้bower.json
) นี้จะเป็นปัญหาถ้ามีคนลบangular-animate
จากbower.json
ซึ่งในกรณีนี้bower
จะไม่ติดตั้งangular
มากเกินไปตั้งแต่ไม่ได้ระบุไว้
บิตวิธีที่ลำบากคือการเรียกbower list
ดูสำหรับแพคเกจที่มีป้ายกำกับภายนอกbower.json
และเพิ่มเหล่านั้นด้วยตนเองเพื่ออ้างอิงในการ
หากมีแพ็กเกจที่ไม่เกี่ยวข้องจำนวนมากมันอาจจะง่ายกว่าในการแก้ปัญหานี้โดยการเรียกใช้bower init
และตอบYesเพื่อ "ตั้งค่าคอมโพเนนต์ที่ติดตั้งในปัจจุบันเป็นการอ้างอิงได้หรือไม่" สิ่งนี้จะใช้เวลาในปัจจุบันของคุณbower.json
อ่านแล้วสร้างใหม่โดยใช้ข้อมูลจากเก่า ดังนั้นในกรณีที่เหมาะสมที่สุดคุณจะมีไฟล์เดียวกันโดยเพิ่มแพ็คเกจภายนอก
คำเตือน : ประการแรกอาจมีบางสิ่งสูญหายในกระบวนการ (เช่นdevDependecies
) ประการที่สองในเวอร์ชั่นล่าสุดของ bower (v1.2.7) นี่จะไม่เก็บข้อมูลแพ็คเกจปัจจุบัน! ฉันรู้สึกว่ามันเป็นแมลง อย่างไรก็ตามคุณสามารถบันทึกไฟล์เก่าและ (ด้วยตนเอง) รวมกับไฟล์ที่สร้างขึ้น
นอกจากนี้คุณควรถามตัวเลือกหรือบางสิ่งบางอย่างด้วยการเปิดปัญหา bowerเช่นนี้จะได้รับการต้อนรับจากนักพัฒนาหลายคน
คุณสามารถใช้bower-check-updates (คุณต้องติดตั้ง node.js บนเครื่องของคุณ):
bower-check-updates
เป็นยูทิลิตี้ที่ปรับ bower.json โดยอัตโนมัติด้วยการอ้างอิงทั้งหมดล่าสุด
bower-check-updates - เป็นทางแยกของการตรวจสอบการอัปเดต npmดังนั้นมันจึงเหมือนกันทั้งหมด แต่เป็นการอัปเดตbower.json
แทนที่จะเป็นpackage.json
npm install -g bower-check-updates
bower-check-updates -u
bower install
สิ่งนี้จะติดตั้งbower-check-updates
ทั่วโลกดังนั้นคุณสามารถเปิดใช้งานได้จากทุกที่
ป.ล. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบการอัปเดต npm โปรดดูหัวข้อนี้
bower install
bower install
ไม่ได้อัปเดต bower.json
bower install [package_name] --save
ถ้ามีไม่ว่าแพคเกจซุ้มมากมายที่คุณได้ติดตั้งให้ลองเขียน นี่เป็นเพียงการอัปเดตไฟล์ bower.json ของคุณ
หลังจากที่bower-check-updates -u
คุณต้องวิ่งbower install
แทนnpm install
bower install
โดยไม่--save
ยากและไม่เคยง่ายกว่านี้มาก่อน