Bagaimana cara menginstal status repo terbaru menggunakan unta?


163

Saya memiliki repo yang sangat kecil di mana saya melakukan semua pekerjaan dev di cabang master dan menggunakan tag sebagai poin "stabil" dalam sejarah.

Saya kira secara default Bower tampaknya mengambil versi repo yang ditandai baru-baru ini. Saya mencoba mendapatkan komit terbaru di cabang utama.

Saya sudah mencoba menjalankan semua ini, dalam setiap urutan:

bower cache-clean mypackage
bower install mypackage --force-latest
bower install mypackage --force --force-latest
bower install mypackage --force

Saya juga mencoba menambahkan latestke file bower.json saya:

"dependencies": {
  "mypackage": "latest"
}

Dan kemudian berlari:

bower update mypackage

Tidak peduli apa pun tampaknya selalu mendapatkan status tag terbaru.

Bagaimana cara saya mendapatkan status proyek terbaru, terkini, dan tidak ditandai?


1
Dokumentasi lengkap github.com/bower/bower.json-spec
Jaider

Jawaban:


220

Tentukan git commit SHA alih-alih versi:

bower install '<git-url>#<git-commit-sha>'

Contoh:

bower install 'git://github.com/yeoman/stringify-object.git#d2895fb97d'

Anda juga bisa menentukan cabang alih-alih SHA, tetapi itu umumnya tidak disarankan kecuali jika sedang dalam pengembangan dan Anda mengontrol semua bagian.


1
Ya, saya membaca semua diskusi tentang semua itu di pelacak isu GH tadi malam dan menginstal bower # 0.9.3-rc0. Anda benar, Tuan. Terima kasih!
Johnny

32
Sekarang, Anda juga bisa menggunakan <git-url>#<branch-name>alih-alih menambahkan SHA-ID. Jadi, Anda juga dapat menggunakan <git-url>#masteruntuk melacak cabang master.
MKroehnert

3
Ini sepertinya tidak berfungsi untuk repositori pribadi saya. Saya mencoba menentukan id komit. Ini mengembalikan kesalahan "fatal: referensi bukan pohon:". Sepertinya sedang berusaha mencari revisi di git repo penampung.
Nilesh

1
Saya mendapatkan yang fatal: referensi bukan pohon juga. Cukup mengganggu.
Seiyria

bagaimana Anda memaksa instalasi versi yang lebih lama di package.json jika Anda sudah memiliki yang lebih baru?
SuperUberDuper

112

Ya, Anda dapat mengarahkan ke url git, atau menggunakan nama / repo singkatan (untuk repo github):

bower.json

{
  "name": "bower-test",
  "dependencies": {
    "dpm": "git@github.com:okfn/dpm.git",
    "docker-nmpjs": "terinjokes/docker-npmjs"
  }
}

Lebih banyak di dokumen

Seperti @roi catat dalam komentar, Anda dapat menggunakan --saveflag untuk secara otomatis menambahkan dependensi bower.json, misalnyabower install terinjokes/docker-npmjs --save


1
dan apakah memilih versi dimungkinkan?
Tjorriemorrie

12
@Tjorriemorrie Ya, Anda dapat mengikuti <package>#<revision>.format yang tercantum dalam dokumen. Jadi, untuk menggunakan versi terbaru jQuery di cabang "master", Anda harus: git@github.com:jquery/jquery.git#masteratau jquery/jquery#mastersingkatnya.
Nick Tomlin

6
saya akan mengatakan Anda akan lebih beruntung menggunakan cli untuk masuk ke bower.json Anda ..... bower instal terinjokes / docker-npmjs --save
Roi

1
Kami juga dapat menyebutkan rilis / tag menggunakan simbol # seperti begitu -xyz-components": "git@github.sample.com:username/reponame.git#0.4.5
Nitin


17

Jika Anda menggunakan file bower.json, Anda menentukan versi terbaru dari sebuah cabang dengan sebuah baris dalam dependensi atau dependensi devD yang sesuai untuk konfigurasi proyek Anda:

"angular-bootstrap": "git@github.com:angular-ui/bootstrap.git#bootstrap3",

Kemudian ketika Anda menjalankan bower installversi terbaru dari cabang itu diinstal. Itu akan menjadi cabang bootstrap3dari angular-uidalam contoh ini.


Ini berfungsi secara lokal tetapi akan gagal di Heroku. Anda harus menggunakan git://github.com/angular-ui/bootstrap.git#bootstrap3gantinya.
Michael Yagudaev

13
bower install --save package-name#master

menambahkan ini:

"dependencies": {
  "package-name": "master"
}

10

menggunakan bower.json:

"dependencies": {
    "jquery.slimscroll": "latest",
    "jQuery": "1.11",
    "fullPage.js": "git@github.com:overbyte/fullPage.js.git#1d6bbac3d4c3b1d3d7d4096cdbcabd1c3914393f",
}

dimana

"[library name - in this case a forked version of fullpage.js]" : "[from git clone box in github][#commit number if required - without this you will get latest tagged version]"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.