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?

Johnny
sumber
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.

Sindre Sorhus
sumber
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": "[email protected]: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

Nick Tomlin
sumber
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: [email protected]: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": "[email protected]: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": "[email protected]: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.

wibobm
sumber
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"
}
elado
sumber
10

menggunakan bower.json:

"dependencies": {
    "jquery.slimscroll": "latest",
    "jQuery": "1.11",
    "fullPage.js": "[email protected]: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]"
taat
sumber