Встановлення залежності від 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://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при спробі встановити з мерзотником з committish, ви повинні змінити 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.
прядильна

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 також здійснює пошук випущених версій та тегів, щоб ви могли вказувати на майже все, а також могли переплутати основні шаблони запитів, як попередній приклад. що отримає останнє незначне оновлення версії 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 entryName), це не працює, ви отримуєте

bower ENOTFOUND Пакет gmapV3MarkerWithLabel не знайдено


++ RE застереження про те, щоб зробити процес назад
jacob

Станом на 2018 рік. Люди повинні віддалятися від шару, вже не в розробці, і використовувати будь-який інший інструмент управління пакетами, як Пряжа. У нас виникли проблеми, оскільки багато розробників бібліотек сторонніх виробників перестали випускати пакети з підсилювачами, щоб вийти на краще стандартизований спосіб. Пряжа набагато швидша, ніж цибуля, і її легко мігрувати.
le0diaz


21

Націлювання на певний комітет

Віддалений (github)

Використовуючи github, зауважте, що ви також можете націлити на певний фіксатор (наприклад, зроблену та оновлену виделку), додавши її хеш-коміт до кінця URL-адреси клонування. Наприклад:

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

Місцево (файлова система)

Або ви можете орієнтуватися на git-комісію у вашій локальній файловій системі, якщо ви використовуєте .git-каталог вашого проекту, як-от так (у Windows; зверніть увагу на передні косої риски):

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

Це один із способів тестування коду бібліотеки, який ви здійснили локально, але ще не натиснули на репо.


1
Дякую! Я використовував компонент forked bower з патчем, і він продовжував встановлювати останню відповідно до основного файлу bower для цього репо. Додавання хеша для фіксування дозволило мені завантажити останню версію
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/директорія?
Rhys

7

Щойно вказавши кінцеву точку урі, працював для мене , підключення 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

Ви також можете спробувати оновити бауер

  • 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-endpoints. І не для папок / блискавок. Як коли ви вказуєте bower на js-файл / папку / zip, ви вже вказали пакет та версію (за винятком js). Тому що пакет має bower.json з версією в ньому. Вказання версії в "bower install" має сенс, коли ви вказуєте bower на сховище, яке може мати багато версій пакета. Я думаю, що це може бути лише git.


3

Спробуйте, bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --saveде 1.0.3номер тегу, який ви можете отримати, прочитавши тег у релізах. Також для URL-адреси замініть на git://, щоб система підключилася.


0

Встановлює пакет із git та зберігає у своєму блоці залежності bower.json.

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

( --saveзбереже версію імені пакета у файлі bower.json всередині блоку залежності).

Довідково

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.