我有一個碼頭容器,將2個節點項目合併爲一個。項目A是statsd project,項目B是一個postgres後端項目,使用npm包pg寫入postgres數據庫。我有兩個單獨的回購A和B.然後,我將它們複製到泊塢窗圖像中的Dockerfile分別如下所示:npm安裝2個項目在一個碼頭圖像
COPY ./statsd/ /opt/statsd/
COPY ./postgres-backend/ /opt/statsd/postgres-backend/
然後我從postgres-backend
複製的JavaScript文件夾裏面/opt/statsd/backends/
泊塢窗。在這個階段,我可以使用自己的package.json規範在/opt/statsd
目錄內執行npm install
。但是,我的postgres-backend
repo有它自己的package.json文件,它指定了它需要的依賴關係(在本例中爲pg
)。我嘗試切換到/opt/statsd/postgres-backend
目錄並做npm install
。那隻能安裝在子目錄中。當我在/opt/statsd
目錄中運行statsd.js
時,它抱怨沒有找到模塊pg
。
如何解決這個2 package.json問題的項目?
npm install [email protected] did not work ??? – lopezdp
@lopezdp這樣的工作,但它感覺像一個黑客,因爲postgres後端的package.json是規避的。如果將來還有其他依賴項被添加到postgres-backend項目中呢?我想知道是否有更好的解決方案來處理這種情況。 – breezymri
這是你的解決方案。您必須做的工作是在舊庫的開始時不再支持舊功能時,調試和更新具有依賴關係的新版本。另外請確保在npm命令末尾添加--save以確保它保存到您的項目應用程序中! – lopezdp