簡體   English   中英

npm git 存儲庫未更新版本

[英]npm git repository not updating versions

我有一個 git 存儲庫,我正在嘗試將其設置為我的項目中的依賴項。 使用 NPM,我的package.json看起來像這樣:

"devDependencies": {
  "grunt": "~0.4.0",
  "grunt-contrib-connect": "~0.2.0",
  "grunt-contrib-watch": "~0.3.1",
  "custom":     "git://github.com/myGitHubRepo/repo.js.git#b7d53a0cfbe496ad89bde6f22324219d098dedb3",
  "grunt-contrib-copy": "~0.4.0"
}

在第一個

npm install

它安裝所有東西並毫無問題地獲取存儲庫。 但是如果我改變這個提交 hash 讓我們說

"custom":     "git://github.com/myGitHubRepo/repo.js.git#d6da3a0...", // a different one

不更新了? 誰能指出我怎么能得到這種行為?

我只是想分享這個代碼,並且能夠在某個時候更改這個版本, npm會自動更新這個。

好的,這就是它的完成方式。

我也很困惑。

所以我在 git@github.com:myModule/MySweetModule.git 有一個私有的 npm 模塊,我剛剛發布了最新的標記版本。 不幸的是,我無法弄清楚它是如何工作的,但它在您的主人身上起作用。 SOOO 您的 master 分支可以是您的集成分支,並且您有用於構建下一個版本的 stage 分支。 版本完成后,只需將其合並到 master 並增加您的私有倉庫的版本(因此您的私有倉庫現在從 1.0.0 到 1.0.1)。 如果你調用npm install它會更新你的倉庫,如果 master 的 package.json 版本大於當前的工作倉庫。 它將始終采用最新的回購。

好像很爛

我同意。 所以讓我們用更好的方式來做吧! 如果你為你的私人倉庫發布tags ,你可以通過"custom": "git+ssh://git@github.com:usr/proj.git#TAG_NAME"引用它們"custom": "git+ssh://git@github.com:usr/proj.git#TAG_NAME"

因此,我有一個名為0.1.0的標簽,然后我會將 package.json 中的 url 版本化為這樣。 "custom": "git+ssh://git@github.com:usr/proj.git#0.1.0"

我相信這是回答您的最佳方法。 但我不是 gitanista

警告

如果您嘗試返回某個版本,它似乎不起作用。 所以從0.2.20.2.1它不會更新你的項目。 如果回滾版本,請確保先執行npm remove myProj然后執行npm install

這已經在 npm 中修復了,請升級到 npm >= 1.3.10

示例用法

"dependencies": { "thing": "git://github.com/myGitHubRepo/repo.js.git#56477cb", }

一天后

"dependencies": { "thing": "git://github.com/myGitHubRepo/repo.js.git#67f90b5", }

然后再次npm install ,您將獲得新的參考!

如果你的 "myGitHubRepo/repo.js" 是一個私有包,你應該設置"private": true以確保它不會被意外發布到 npm 注冊表

手動更新那個特定的包對我有用。

並自動執行此操作,我將此安裝后腳本添加到我的 package.json

"scripts": {
 ...
 "postinstall": "npm update custom"
}

正如@Nestoro 所建議的,手動更新 package也對我有用:

npm update
npm install <your package name>

我遇到了這個問題,所有答案都有自己的問題,所以我必須找到更好的方法。

我發現了一種更新的方法來防止 npm 問題與文檔中安裝的 package 升級(這可能需要更新版本的 npm):

確保您在存儲庫中標記版本。

然后你可以使用這個稍微修改過的 URL 包含你的 repo:

git+ssh://git@<repo url>.git#semver:<tag/package version>

到目前為止,這表現得更好,並且沒有降級或升級版本的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM