การติดตั้งการพึ่งพากับ Bower จาก URL และระบุเวอร์ชัน


154

ฉันกำลังพยายามติดตั้งการพึ่งพากับ Bower โดยใช้ URL จากเอกสาร Bower:

Bower เสนอวิธีติดตั้งแพ็คเกจได้หลายวิธี:

    # Using the dependencies listed in the current directory's bower.json 
    bower install
    # Using a local or remote package 
    bower install <package>
    # Using a specific version of a package 
    bower install <package>#<version>
    # Using a different name and a specific version of a package 
    bower install <name>=<package>#<version> 

ไหน<package>สามารถเป็นหนึ่งต่อไปนี้:

  • ชื่อที่แมปไปยังแพ็คเกจที่ลงทะเบียนกับ Bower เช่น jquery
  • ปลายทาง Git git://github.com/someone/some-package.gitระยะไกลเช่น สามารถเป็นสาธารณะหรือส่วนตัว
  • จุดปลายโลคัลคือโฟลเดอร์ที่เป็นที่เก็บ Git
  • จุดสิ้นสุดชวเลขเช่นsomeone/some-package (เริ่มต้นที่ GitHub)
  • URL ไปยังไฟล์รวมถึงไฟล์ zip และ tar เนื้อหาจะถูกดึงออกมา

อย่างไรก็ตามมันก็บอกว่าทุกประเภทยกเว้น URL อนุญาตให้ระบุรุ่น

ฉันจะระบุเวอร์ชันสำหรับการพึ่งพา URL ที่ดาวน์โหลดได้อย่างไร

คำตอบ:


194

ใช้ปลายทาง git แทนชื่อแพ็คเกจ:

bower install https://github.com/jquery/jquery.git#2.0.3

8
นี่คือจุดสิ้นสุด Git และการระบุการกำหนดเวอร์ชันงาน หากคุณระบุตัวอย่างเช่นไฟล์ Javascript โดยตรงสิ่งนี้จะไม่ทำงาน
Edmondo1984

1
อนุญาตให้ใช้ URL ด้วย bower เวอร์ชันล่าสุด
lfender6445

BTW: ทำงานด้วยsvnเช่นกันbower install crypto-js=svn+http://crypto-js.googlecode.com/svn/#~3.1.2 --save
Preexo

5
หากคุณมีข้อผิดพลาดENORESTARGET URL sources can't resolve targetsเมื่อลองติดตั้งจากคอมไพล์ด้วยคอมมิชชันคุณต้องเปลี่ยนhttps://github.com/jquery/jqueryเป็นhttps://github.com/jquery/jquery.git(เพิ่ม.git)
jakub.g

2
bower ทำให้แท็กเวอร์ชันเป็นปกติเพื่อนำหน้าด้วยvหรือไม่ เมื่อฉันทำมันทำงานแม้ว่าแท็กที่เกิดขึ้นจริงฉันผลักถูกเรียกว่าbower install https://github.com/my/repo.git#1.0.0 v1.0.0
Spinningarrow

54

หากคุณใช้ไฟล์ bower.json เพื่อระบุการขึ้นต่อกันของคุณ:

{
     "dependencies": {
         ...
         "photo-swipe": "git@github.com:dimsemenov/PhotoSwipe.git#v3.0.x",

#bower 1.4 (tested with that version) can read repositorios with uri format

         "photo-swipe": "git://github.com/dimsemenov/PhotoSwipe.git#v3.0.x",

     }
}

เพียงจำไว้ว่า bower ยังค้นหารุ่นและแท็กที่วางจำหน่ายเพื่อให้คุณสามารถชี้ไปที่เกือบทุกอย่างและสามารถ interprate รูปแบบแบบสอบถามพื้นฐานเช่นตัวอย่างก่อนหน้า ที่จะดึงข้อมูลอัพเดตย่อยล่าสุดของเวอร์ชัน 3.0 (ทดสอบจาก bower 1.3.5)

อัปเดตเนื่องจากคำอธิบายคำถามยังระบุถึงการใช้ URL เท่านั้นและไม่พูดถึงที่เก็บ github

อีกตัวอย่างคือการรันคำสั่งนี้โดยใช้ url ที่ต้องการเช่น:

bower install gmap3MarkerWithLabel=http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerwithlabel/1.0/src/markerwithlabel.js -S

คำสั่งนั้นดาวน์โหลดไลบรารี js ของคุณอยู่ใน {พา ธ ปลายทางของคุณ} /gmap3MarkerWithLabel/index.js และสร้างรายการในไฟล์ bower.json ของคุณโดยอัตโนมัติที่เรียกว่า gmap3MarkerWithLabel: "... " หลังจากนั้นคุณสามารถดำเนินการได้เท่านั้น bower update gmap3MarkerWithLabelถ้าจำเป็นเท่านั้น

สิ่งที่ตลกถ้าคุณทำกระบวนการย้อนหลัง (เพิ่มรายการด้วยตนเองใน bower.json, แล้วชื่อการติดตั้ง bower แล้ว) มันไม่ทำงานคุณจะได้รับ

bower ENOTFOUND แพ็คเกจ gmapV3MarkerWithLabel ไม่พบ


++ RE ข้อแม้เกี่ยวกับการทำย้อนกลับกระบวนการ
jacob

ตั้งแต่ปีพ. ศ. 2561 ผู้คนควรหลีกหนีจากความวุ่นวายไม่อยู่ในการพัฒนาอีกต่อไปและใช้เครื่องมือการจัดการบรรจุภัณฑ์อื่น ๆ เช่น Yarn เรามีปัญหาเนื่องจากผู้พัฒนาห้องสมุดบุคคลที่สามหลายคนหยุดปล่อยแพ็คเกจ bower เพื่อไปด้วยวิธีที่ดีกว่า เส้นด้ายเป็นวิธีที่เร็วกว่าร่มรื่นและง่ายต่อการโยกย้าย
le0diaz


21

การกำหนดเป้าหมายเฉพาะการส่งมอบ

ระยะไกล (GitHub)

เมื่อใช้ github โปรดทราบว่าคุณยังสามารถกำหนดเป้าหมายการส่งข้อมูลที่เจาะจง (ตัวอย่างเช่นของส้อมที่คุณสร้างและอัปเดต) โดยต่อท้ายแฮชการกระทำต่อท้าย URL การโคลน ตัวอย่างเช่น:

"dependencies": {
  "example": "https://github.com/owner_name/repo_name.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"
}

ในพื้นที่ (ระบบไฟล์)

หรือคุณสามารถกำหนดเป้าหมายการคอมไพล์ในระบบไฟล์โลคัลของคุณหากคุณใช้ไดเร็กทอรี. git ของโปรเจ็กต์เช่นนั้น (บน Windows;

"dependencies": {
  "example": "file://C:/Projects/my-project/.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"
}

นี่เป็นวิธีหนึ่งในการทดสอบรหัสห้องสมุดที่คุณกำหนดในท้องถิ่น แต่ยังไม่ได้ส่งไปยัง repo


1
ขอบคุณ! ฉันกำลังใช้ส่วนประกอบ bower ที่มีส้อมพร้อมกับแพทช์และมันยังคงติดตั้งล่าสุดตามไฟล์ bower หลักสำหรับ repo นั้น การเพิ่มแฮชการอนุญาตอนุญาตให้ฉันดาวน์โหลดเวอร์ชันล่าสุดของฉัน
elliottregan

9

เพียงแค่อัปเดต

ตอนนี้ถ้ามันเป็นพื้นที่เก็บข้อมูล GitHub แล้วใช้เพียงสั้น ๆ GitHub ก็พอถ้าคุณไม่ทราบรุ่นของหลักสูตร

GitHub ชวเลข

$ bower install desandro/masonry

7

นี่คือวิธีที่สั้นมือที่มีประโยชน์ในการติดตั้งแท็กที่เฉพาะเจาะจงหรือกระทำจาก GitHub bower.jsonผ่าน

{
  "dependencies": {
    "your-library-name": "<GITHUB-USERNAME>/<REPOSITORY-NAME>#<TAG-OR-COMMIT>"
  }
}

ตัวอย่างเช่น:

{
  "dependencies": {
    "custom-jquery": "jquery/jquery#2.0.3"
  }
}

เพิ่งอยากรู้อยากเห็นเป็นไปได้ไหมที่จะกำหนดเป้าหมายไดเรกทอรีเฉพาะจากที่เก็บ? git@git-url.git#v0.1.0/directory?
ริส

7

เพียงแค่ระบุ uri endpoint ที่ใช้งานได้สำหรับฉัน bower 1.3.9

  "dependencies": {
    "jquery.cookie": "latest",
    "everestjs": "http://www.everestjs.net/static/st.v2.js"
  }

วิ่งbower installฉันได้รับผลลัพธ์ต่อไปนี้:

bower new           version for http://www.everestjs.net/static/st.v2.js#*
bower resolve       http://www.everestjs.net/static/st.v2.js#*
bower download      http://www.everestjs.net/static/st.v2.js

คุณสามารถลองอัปเดต bower ได้เช่นกัน

  • npm update -g bower

ตามเอกสารประกอบ : URL ประเภทต่อไปนี้ได้รับการสนับสนุน:

http://example.com/script.js
http://example.com/style.css
http://example.com/package.zip (contents will be extracted)
http://example.com/package.tar (contents will be extracted)

3

ฉันเชื่อว่าการระบุเวอร์ชันใช้งานได้กับ git-endpoint เท่านั้น และไม่ใช่สำหรับโฟลเดอร์ / zip เมื่อคุณชี้ไปที่ js-file / folder / zip คุณได้ระบุแพ็กเกจและเวอร์ชันไว้แล้ว(ยกเว้น js แน่นอน) เพราะแพ็คเกจมี bower.json พร้อมเวอร์ชั่นอยู่ การระบุรุ่นใน 'การติดตั้ง bower' สมเหตุสมผลเมื่อคุณกำลังชี้ไปที่ที่เก็บซึ่งสามารถมีแพ็คเกจได้หลายรุ่น มันสามารถเป็นแค่คอมไพล์ฉันคิดว่า


3

ลองbower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --saveที่1.0.3เป็นจำนวนแท็กที่คุณจะได้รับจากการอ่านแท็กภายใต้การเผยแพร่ นอกจากนี้สำหรับ URL แทนที่ด้วยgit://เพื่อให้ระบบเชื่อมต่อ


0

ติดตั้งแพคเกจจากคอมไพล์และบันทึกในบล็อก bower.json ของคุณ

  1. bower register package-name git-endpoint#version
  2. install package-name --save

(--saveจะบันทึกเวอร์ชันชื่อแพ็คเกจในไฟล์ bower.json ภายในบล็อกการพึ่งพา)

การอ้างอิง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.