URL'den Bower ile bağımlılık yükleme ve sürümü belirtme


154

Bir URL kullanarak Bower ile bir bağımlılık yüklemeye çalışıyorum. Bower belgeleri itibariyle:

Bower, paketleri kurmak için çeşitli yollar sunar:

    # 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>Aşağıdakilerden herhangi biri nerede olabilir:

  • Bower'a kayıtlı bir paketle eşleşen bir ad; ör. Jquery.
  • Uzak bir Git uç noktası, ör git://github.com/someone/some-package.git. Herkese açık veya özel olabilir.
  • Yerel bir uç nokta, yani Git deposu olan bir klasör.
  • Bir stenografi uç noktası, ör. someone/some-package (Varsayılan olarak GitHub).
  • Zip ve tar dosyaları da dahil olmak üzere bir dosyanın URL'si. İçeriği çıkartılacaktır.

Ancak, URL dışındaki tüm türlerin bir sürüm belirtmesine izin verdiğini söyler.

URL indirilen bağımlılığı için bir sürümü nasıl belirleyebilirim?

Yanıtlar:


194

Paket adı yerine git uç noktası kullanın:

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

8
Bu bir Git uç noktasıdır ve sürüm oluşturma belirtilir. Örneğin doğrudan bir Javascript dosyası belirtirseniz, bu çalışmaz
Edmondo1984

1
URL'lere, bower'ın son sürümleriyle izin verilir.
lfender6445

BTW: ile svnde çalışıyor , ör.bower install crypto-js=svn+http://crypto-js.googlecode.com/svn/#~3.1.2 --save
Preexo

5
ENORESTARGET URL sources can't resolve targetshttps://github.com/jquery/jqueryhttps://github.com/jquery/jquery.git.git
git'ten bir toplulukla

2
Bower, bir önek ile önek olarak sürüm etiketini normalleştirir vmi? Yaptığım zaman bower install https://github.com/my/repo.git#1.0.0, ittiğim gerçek etiket çağrılmış olsa bile çalışır v1.0.0.
spinningarrow

54

Bağımlılıklarınızı belirtmek için bower.json dosyasını kullanırsanız:

{
     "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",

     }
}

Sadece bower'ın yayınlanmış sürümleri ve etiketleri aradığını hatırlayın, böylece hemen hemen her şeye işaret edebilir ve önceki örnek gibi temel sorgu desenlerini yorumlayabilirsiniz. sürüm 3.0'ın en son küçük güncellemesini alacak (bower 1.3.5'ten test edilmiştir)

Güncelleme , soru açıklamasında da belirtildiği gibi sadece bir URL ve github deposundan bahsedilmiyor.

Başka bir örnek, bu komutu istenen url'yi kullanarak çalıştırmaktır, örneğin:

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

bu komut, js kütüphanenizi {hedef yolunuz} /gmap3MarkerWithLabel/index.js içine koyar ve otomatik olarak gmap3MarkerWithLabel adlı bower.json dosyanızda bir giriş oluşturur: "..." Bundan sonra, yalnızca bower update gmap3MarkerWithLabelgerektiğinde çalıştırabilirsiniz .

İşlem backwars yaparsanız komik bir şey (bower.json, daha sonra bir bower install entryName girdisini manuel olarak ekleyin) işe yaramazsa,

bower ENOTFOUND Paket gmapV3MarkerWithLabel bulunamadı


++ İşlemi geriye doğru yapma konusunda uyarı
jacob

2018'den itibaren. İnsanlar artık gelişimde değil, bower'dan uzaklaşmalı ve İplik gibi başka bir paket yönetim aracı kullanmalıdır. Birçok üçüncü taraf kütüphane geliştiricisinin daha iyi ve standart bir yolla paket paketleri yayınlamayı bırakmasıyla ilgili sorunlar yaşadık. İplik, bower'dan çok daha hızlıdır ve taşınması gerçekten kolaydır.
le0diaz


21

Belirli bir taahhüdü hedefleme

Uzak (github)

Github kullanırken, kesin karmasını klon URL'sinin sonuna ekleyerek belirli bir taahhüdü (örneğin, yaptığınız ve güncellediğiniz bir çatalın) hedefleyebileceğinizi unutmayın. Örneğin:

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

Yerel olarak (dosya sistemi)

Veya projenizin .git dizinini kullanırsanız, yerel dosya sisteminizde bir git komutunu hedefleyebilirsiniz (Windows'ta; eğik çizgileri not edin):

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

Bu, yerel olarak işlediğiniz ancak repoya aktarmadığınız kütüphane kodunu test etmenin bir yoludur.


1
Teşekkürler! Bir yama ile çatallı bower bileşeni kullanıyordum ve bu repo için ana bower dosyasına göre en son yüklemeye devam etti. Taahhüt karmasını eklemek en son sürümümü indirmeme izin verdi.
elliottregan

9

Sadece bir güncelleme.

Şimdi bir github deposu ise, elbette versiyonunu önemsemiyorsanız sadece bir github stenografi kullanmak yeterlidir.

GitHub stenografi

$ bower install desandro/masonry

7

İşte belirli bir etiketi kurmanın veya GitHub'dan taahhütte bulunmanın kullanışlı kısa bir yolu bower.json.

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

Örneğin:

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

Sadece meraktan, depodan belirli bir dizini hedeflemek mümkün mü? git@git-url.git#v0.1.0/directory?
Rhys

7

Sadece benim için çalışan uri uç noktasını belirtin, bower 1.3.9

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

Çalışırken bower installaşağıdaki çıktıyı aldım:

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

Ayrıca bower'ı güncellemeyi de deneyebilirsiniz

  • npm update -g bower

Belgelere göre : aşağıdaki URL türleri desteklenir:

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

Sürüm belirtmenin yalnızca git-uç noktaları için çalıştığına inanıyorum. Ve klasör / zip olanlar için değil. Bower'ı bir js dosyasına / klasörüne / zipine işaret ettiğinizde olduğu gibi zaten paket ve sürümü belirtmişsinizdir (gerçekten js hariç). Çünkü bir paketin içinde bower.json var. 'Bower install' içinde bir sürüm belirtmek, bir paketin birçok sürümüne sahip olabilen bir depoya bower'ı işaret ettiğinizde anlamlıdır. Bence sadece git olabilir.


3

Sürümler altındaki etiketi okuyarak alabileceğiniz etiket numarasının bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --savenerede 1.0.3olduğunu deneyin . Ayrıca git://sistemin bağlanması için URL'nin yerine geçmesi gerekir.


0

Paketi git'ten yükler ve bower.json bağımlılık bloğunuza kaydedin.

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

( --savepaket adı sürümünü bağımlılık bloğunun içindeki bower.json dosyasına kaydeder).

Referans

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.