Як встановити останній (без тегів) стан репо за допомогою bower?


163

У мене дуже маленьке репо, в якому я роблю всю розробку роботи в головній галузі та використовую теги як "стабільні" моменти в історії.

Я думаю, за замовчуванням Bower, здається, отримує останню теговану версію репо. Я намагаюся отримати найсвіжіший комітет у головній галузі.

Я намагався запустити все це в кожному можливому порядку:

bower cache-clean mypackage
bower install mypackage --force-latest
bower install mypackage --force --force-latest
bower install mypackage --force

Я також спробував додати latestдо файлу bower.json:

"dependencies": {
  "mypackage": "latest"
}

А потім працює:

bower update mypackage

Незважаючи на те, що, здається, завжди отримує останнє теговане стан.

Як я можу отримати останню, найсучаснішу, не марковану стан проекту?


1
Повна документація github.com/bower/bower.json-spec
Джайдер

Відповіді:


220

Вкажіть git commit SHA замість версії:

bower install '<git-url>#<git-commit-sha>'

Приклад:

bower install 'git://github.com/yeoman/stringify-object.git#d2895fb97d'

Ви також можете вказати гілку замість SHA, але це, як правило, не рекомендується, якщо вона не розробляється і ви не контролюєте всі частини.


1
Так, я прочитав всю дискусію про все, що минулої ночі в трекері випуску GH, і встановив пристрій № 0.9.3-rc0. Ви прав, сер. Дякую!
Джонні

32
На даний момент ви також можете просто використовувати <git-url>#<branch-name>замість додавання SHA-ID. Тож ви також можете використовувати <git-url>#masterдля відстеження основної гілки.
MKroehnert

3
Схоже, це не працює для мого приватного сховища. Я намагаюся вказати ідентифікатор фіксації. Він повертає помилку "fatal: посилання не є деревом:". Схоже, намагаються знайти версію в git repo контейнера.
Нілеш

1
Мені стає фатальним: посилання також не є деревом. Досить дратівливий.
Сейрія

як змусити встановити старішу версію в package.json, якщо у вас вже є нова версія?
SuperUberDuper

112

Так, ви можете вказати на URL-адресу git або скористатися скороченням name / repo (для github repos):

bower.json

{
  "name": "bower-test",
  "dependencies": {
    "dpm": "git@github.com:okfn/dpm.git",
    "docker-nmpjs": "terinjokes/docker-npmjs"
  }
}

Детальніше в документах

Як зазначав @roi в коментарях, ви можете використовувати --saveпрапор для автоматичного додавання залежностей bower.json, наприкладbower install terinjokes/docker-npmjs --save


1
і чи можливо вибрати версію?
Tjorriemorrie

12
@Tjorriemorrie Так, ви можете дотримуватися <package>#<revision>.формату, вказаного в документах. Отже, щоб використовувати останню версію jQuery у гілці "master", ви зробили б: git@github.com:jquery/jquery.git#masterабо jquery/jquery#masterкоротко.
Нік Томлін

6
я б сказав, що вам пощастить, скориставшись кліпом, щоб занести його у ваш bower.json ..... баутер встановити terinjokes / docker-npmjs --save
Рой

1
Ми також можемо згадати випуски / теги, використовуючи # символ так -xyz-components": "git@github.sample.com:username/reponame.git#0.4.5
Нітін,


17

Якщо ви використовуєте файл bower.json, ви вказуєте останню версію гілки з рядком або залежностей, або devDependpendence, відповідно до конфігурації вашого проекту:

"angular-bootstrap": "git@github.com:angular-ui/bootstrap.git#bootstrap3",

Потім при запуску bower installвстановлена ​​остання версія цієї гілки. Це було б галузь bootstrap3з angular-uiданого прикладу.


Це працює локально, але на Heroku не вдасться. Вам слід скористатися git://github.com/angular-ui/bootstrap.git#bootstrap3натомість.
Михайло Ягудаєв

13
bower install --save package-name#master

додає це:

"dependencies": {
  "package-name": "master"
}

10

за допомогою bower.json:

"dependencies": {
    "jquery.slimscroll": "latest",
    "jQuery": "1.11",
    "fullPage.js": "git@github.com:overbyte/fullPage.js.git#1d6bbac3d4c3b1d3d7d4096cdbcabd1c3914393f",
}

де

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