我在我的項目中使用幾個開源js庫。我最近搬到了所有前端依賴項使用bower。我喜歡我可以只提供一個github url而不是正確的包名稱。定製涼亭包
我已經定製了幾個庫。因此,爲了使用bower管理它們,我在Github上的一個組織帳戶中創建了一個名爲myLibs
的私人存儲庫。
我正在爲每個自定義庫創建分支。例如,自定義angular-bootstrap
庫將在angular-bootstrap
分支和自定義angular-material
庫將在angular-material
分支。
現在我正在爲每個庫中的每個版本創建標籤。我使用的命名約定是branch-name/x.y.z
例如,我有angular-bootstrap/1.0.0
和angular-material/1.1.1
標籤。
這是很好的,直到我不得不使用鮑爾安裝這些庫。要安裝自定義庫,我叫下面的命令(這是一個虛擬的網址,不要嘗試)
bower install --save-exact library-patch=https://github.com/test_org/myLibs.git#branch-name/1.0.0
庫被安裝,我可以在bower_components看到它,但我bower.json的依賴條目變成這樣 -
"library-patch":"https://github.com/test_org/myLibs.git#undefined"
這不是我想要的。我想要保存正確的標籤名稱。每次我想添加自定義庫時,我都不想在bower.json
文件中手動進行更改。
我的第一個想法是,標籤的命名約定是一個問題。所以我把它改爲branch-name-x.y.z
從branch-name/x.y.z which allowed me to have the exact version in the bower.json to install it properly, but when trying to install the libraries using the terminal, instead of using bower.json, I am getting the
#undefined`標籤在依賴關係的末尾。
這是我從終端安裝庫時得到的日誌。
bower install --save-exact library-patch=https://github.com/test_org/myLibs.git#branch-name-1.0.0
bower not-cached https://github.com/test_org/myLibs.git#branch-name-1.0.0
bower resolve https://github.com/test_org/myLibs.git#branch-name-1.0.0
bower download https://github.com/test_org/myLibs/archive/branch-name-1.0.0.tar.gz
bower retry Download of https://github.com/test_org/myLibs/archive/branch-name-1.0.0.tar.gz failed with EHTTP, trying with git..
bower checkout library-patch#branch-name-1.0.0
bower resolved https://github.com/test_org/myLibs.git#branch-name-1.0.0
bower install library-patch#branch-name-1.0.0
library-patch#branch-name-1.0.0 bower_components/library-patch
└── angular#1.4.8
爲什麼我在發佈/標籤名稱中獲取未定義?我是否在命名標籤時犯了錯誤?有什麼方法可以從終端安裝這些自定義庫,並將確切標籤保存在bower.json中?