URL에서 Bower와의 종속성 설치 및 버전 지정


154

URL을 사용하여 Bower와의 종속성을 설치하려고합니다. 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 엔드 포인트 (예 :) git://github.com/someone/some-package.git. 공개 또는 비공개 일 수 있습니다.
  • 로컬 엔드 포인트, 즉 Git 저장소 인 폴더.
  • 축약 형 엔드 포인트 (예 : someone/some-package GitHub)
  • zip 및 tar 파일을 포함한 파일의 URL입니다. 내용이 추출됩니다.

그러나 URL을 제외한 모든 유형이 버전을 지정할 수 있다고 말합니다.

URL 다운로드 종속성의 버전을 어떻게 지정합니까?

답변:


194

패키지 이름 대신 git endpoint를 사용하십시오 :

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

8
이것은 Git 엔드 포인트이며 버전 지정 작업을 지정합니다. 예를 들어 Javascript 파일을 직접 지정하면 작동하지 않습니다.
Edmondo1984

1
최신 버전의 bower에는 URL이 허용됩니다.
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 targetscommittish와 자식에서 설치하려고 할 때, 당신은 변화가 https://github.com/jquery/jqueryhttps://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의 최신 마이너 업데이트를 가져옵니다 (1.3.5에서 테스트).

질문 설명은 URL 만 사용하고 github 저장소는 언급하지 않으므로 Update .

또 다른 예는 원하는 URL을 사용하여이 명령을 실행하는 것입니다.

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

이 명령은 js 라이브러리를 {your destination path} /gmap3MarkerWithLabel/index.js에 다운로드하고 bower.json 파일에 gmap3MarkerWithLabel : "..."이라는 항목을 자동으로 생성합니다. bower update gmap3MarkerWithLabel 필요한 경우 .

프로세스 backwars (bower.json에 수동으로 항목을 추가 한 다음 bower 설치 entryName)를 수행하면 작동하지 않는 것이 재미 있습니다.

bower ENOTFOUND 패키지 gmapV3MarkerWithLabel을 찾을 수 없음


++ RE는 프로세스를 거꾸로 수행하는 것에 대해 경고합니다
jacob

2018 년 현재, 사람들은 더 이상 개발이 아닌 bower에서 벗어나 Yarn과 같은 다른 패키지 관리 도구를 사용해야합니다. 많은 서드 파티 라이브러리 개발자가보다 표준화 된 방식으로 바우어 패키지 출시를 중단함에 따라 문제가 발생했습니다. 원 사는 bower보다 빠르며 마이그레이션하기가 쉽습니다.
le0diaz


21

특정 커밋 타겟팅

원격 (github)

github을 사용하는 경우 복제 URL 끝에 커밋 해시를 추가하여 특정 커밋 (예 : 만들고 업데이트 한 포크)을 대상으로 지정할 수도 있습니다. 예를 들면 다음과 같습니다.

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

로컬 (파일 시스템)

또는 프로젝트의 .git 디렉토리를 사용하는 경우 로컬 파일 시스템에서 git commit을 대상으로 지정할 수 있습니다 (Windows의 경우 슬래시 참고).

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

이것은 로컬로 커밋했지만 아직 리포지토리로 푸시하지 않은 라이브러리 코드를 테스트하는 한 가지 방법입니다.


1
감사! 패치와 함께 갈래의 bower 구성 요소를 사용하고 있었고 해당 repo의 기본 bower 파일에 따라 최신 버전을 계속 설치했습니다. 커밋 해시를 추가하면 최신 버전을 다운로드 할 수있었습니다.
elliottregan 2016 년

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/directory?
Rhys

7

그냥 URI 엔드 포인트는 나를 위해 일을 특정하는 1.3.9 이물,

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

Running 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)

3

버전을 지정하면 git-endpoints 만 작동한다고 생각합니다. 폴더 / zip 파일이 아닙니다. bower가 js-file / folder / zip을 가리킬 때 이미 패키지 버전을 지정했습니다 (실제로 js 제외). 패키지에는 bower.json 버전이 있기 때문입니다. 'bower install'에서 버전을 지정하면 여러 버전의 패키지를 가질 수있는 저장소를 지정할 때 의미가 있습니다. 내가 생각하는 자식 일 수 있습니다.


3

시도 bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --save1.0.3이 릴리스에서 태그를 읽음으로써 얻을 수있는 태그 번호입니다. 또한 git://시스템을 연결하기 위해 URL을 교체하십시오 .


0

git에서 패키지를 설치하고 bower.json 종속성 블록에 저장하십시오.

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

(--save 종속성 블록 내의 bower.json 파일에 패키지 이름 버전을 저장합니다).

참고

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.