Установка зависимости с Bower от URL и указания версии

Я пытаюсь установить зависимость с 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> может быть любым из следующих:

  • Имя, которое сопоставляется с пакетом, зарегистрированным в Bower, например jquery.
  • Удаленная конечная точка Git, например git://github.com/someone/some-package.git. Может быть открытым или закрытым.
  • Локальная конечная точка, т.е. папка, в которой хранится хранилище Git.
  • Сокращенная конечная точка, например someone/some-package (по умолчанию GitHub).
  • URL-адрес файла, включая zip файлы и tar файлы. Его содержимое будет извлечено.

Однако, тогда он говорит, что все типы, кроме URL, позволяют указать версию.

Как указать версию для загруженной URL-адреса?

Ответ 1

Используйте конечную точку git вместо имени пакета:

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

Ответ 2

Если вы используете файл 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 не найден

Ответ 3

Ориентация на конкретную фиксацию

Удаленный (github)

При использовании 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"
}

Это один из способов тестирования кода библиотеки, который вы совершили локально, но еще не нажали на репо.

Ответ 4

Используйте следующее:

bower install --save git://github.com/USER/REPOS_NAME.git

Подробнее здесь: http://bower.io/#getting-started

Ответ 5

Просто указав, что конечная точка 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)

Ответ 6

Просто обновление.

Теперь, если это репозиторий github, то использование только сокращения github достаточно, если вы не против версии, конечно.

Сокращение GitHub

$ bower install desandro/masonry

Ответ 7

Я считаю, что спецификация версии работает только для git -endpoints. И не для папки /zip. Например, когда вы указываете bower на js файл/папку/zip, вы уже указали пакет и версию (за исключением js действительно). Потому что пакет имеет bower.json с версией в нем. Указание версии в "bower install" имеет смысл, когда вы указываете bower в репозиторий, который может иметь множество версий пакета. Думаю, это может быть только git.

Ответ 8

Вот удобный короткий способ установки определенного тега или фиксации из GitHub через bower.json.

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

Например:

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

Ответ 9

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

Ответ 10

Устанавливает пакет из git и сохраняет его в блоке зависимостей bower.json.

  • bower register package-name git-endpoint#version
  • install package-name --save

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

Ссылка