2017-09-16 53 views
5

我們的應用程序(my-app)依賴項之一是我們發佈到npm(my-lib)的npm lib。在同一個註冊表中管理2 npm lib版本 - 具有相同的lib版本?

name: my-app; 
version: <my-app-version> 
dependencies: { 
    my-lib: <my-lib-version> 
} 

作爲一家公司,我們承諾支持當前版本和1箇舊版本。 我的應用程序內1.0.0取決於我-lib的1.0.0

name: my-app; 
version: 1.0.0 
dependencies: { 
    my-lib: 1.0.0 
} 

我的應用程序內2.0.0取決於我的最新-lib的是3.1.0

name: my-app; 
version: 2.0.0 
dependencies: { 
    my-lib: 3.1.0 
} 

我們有一個bug在我的lib中,我們必須修復。 簡單的事情就是修復3.1.0, ,但my-app 1.0.0不能採用3.1.0,因爲它引入了重大更改,並且必須保留在1.X.X版本中。 在兩者中修復my-lib的標準方法是什麼?

回答

1

如果您決定同時更新1.x.x3.x.x版本中,你可能會保持在2個獨立的Git分支工作和NPM發佈2點獨立的補丁發佈。

+0

但npm不允許發佈舊版本的補丁;一旦你的版本2.X.X你不能發佈到1.X.X的東西。 –

+1

嗨Mattan, 你應該可以發佈到老版本沒有問題。我已經使用npm CLI的3.x和5.x版本對npmE安裝進行了測試。 希望能幫到:) –

+0

@MattanBitner據我所知,你不能覆蓋EXISTING舊版本,但即使我還沒有嘗試過,閱讀npm文檔,我想我明白你可以發佈補丁到舊版本。因此,例如,如果您的上一個1.x.x版本是1.1.3,那麼您應該能夠發佈1.1.4甚至現有的2.0.0或3.0.0版本。 – bitifet

相關問題