Ответ 1
Используйте конечную точку git вместо имени пакета:
bower install https://github.com/jquery/jquery.git#2.0.3
Я пытаюсь установить зависимость с Bower с помощью URL. По документации Bower:
Bower предлагает несколько способов установки пакетов:
# Using the dependencies listed in the current directory 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>
может быть любым из следующих:
git://github.com/someone/some-package.git
.
Может быть открытым или закрытым.someone/some-package
(по умолчанию GitHub).Однако, тогда он говорит, что все типы, кроме URL, позволяют указать версию.
Как указать версию для загруженной URL-адреса?
Используйте конечную точку git вместо имени пакета:
bower install https://github.com/jquery/jquery.git#2.0.3
Если вы используете файл bower.json, чтобы указать свои зависимости:
{
"dependencies": {
...
"photo-swipe": "[email protected]: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
при необходимости.
Забавная вещь, если вы делаете backwars процесса (добавьте вручную запись в bower.json, затем bower install entryName), она не работает, вы получаете
Панельный блок ENOTFOUND gmapV3MarkerWithLabel не найден
При использовании github обратите внимание, что вы также можете настроить таргетинг на определенную фиксацию (например, сделанной и обновленной вилки), добавив хеш фиксации к концу своего клон-кода. Например:
"dependencies": {
"example": "https://github.com/owner_name/repo_name.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"
}
Или вы можете настроить таргетинг на git commit в локальной файловой системе, если вы используете каталог проекта .git, например (в Windows, обратите внимание на косые черты):
"dependencies": {
"example": "file://C:/Projects/my-project/.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"
}
Это один из способов тестирования кода библиотеки, который вы совершили локально, но еще не нажали на репо.
Используйте следующее:
bower install --save git://github.com/USER/REPOS_NAME.git
Подробнее здесь: http://bower.io/#getting-started
Просто указав, что конечная точка uri работает для меня, 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)
Просто обновление.
Теперь, если это репозиторий github, то использование только сокращения github достаточно, если вы не против версии, конечно.
$ bower install desandro/masonry
Я считаю, что спецификация версии работает только для git -endpoints. И не для папки /zip. Например, когда вы указываете bower на js файл/папку/zip, вы уже указали пакет и версию (за исключением js действительно). Потому что пакет имеет bower.json с версией в нем. Указание версии в "bower install" имеет смысл, когда вы указываете bower в репозиторий, который может иметь множество версий пакета. Думаю, это может быть только git.
Вот удобный короткий способ установки определенного тега или фиксации из GitHub через bower.json
.
{
"dependencies": {
"your-library-name": "<GITHUB-USERNAME>/<REPOSITORY-NAME>#<TAG-OR-COMMIT>"
}
}
Например:
{
"dependencies": {
"custom-jquery": "jquery/jquery#2.0.3"
}
}
Попробуйте bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --save
где 1.0.3
- номер тега, который вы можете получить, читая тег под выпусками. Также для URL-адреса замените git://
, чтобы система могла подключиться.
Устанавливает пакет из git и сохраняет его в блоке зависимостей bower.json.
bower register package-name git-endpoint#version
install package-name --save
(--save
сохранит версию имени пакета в файле bower.json внутри блока зависимостей).