2017-03-07 71 views
2

我使用的npm包已在github上分叉了一些錯誤修復,現在我想在我的項目中使用分叉代碼,直到fork合併。NPM:嘗試從github url直接安裝時缺少dist和src目錄

在我的package.json中,我改變了依賴關係中的引用。 「cool-package」:「^ 0.10.0」 改爲「cool-package」:「git://github.com/developer-who-forked/cool-package.git」但這不起作用。

如果我在更新package.json之後運行npm install,然後進入node_modules/cool-package /我沒有看到任何/ src文件夾或任何/ dist文件夾(通過普通npm安裝的所有其他模塊似乎至少有一個/ dist文件夾)。

我只能在package.json和README.md旁邊看到/ example文件夾和/ test文件夾。如果我通過包含「cool-package」來安裝軟件包:「^ 0.10.0」,那麼會有src /和dist /文件夾。

分叉的回購,或從它分出的原始回購沒有/ dist文件夾 - 它實際上在.gitignore文件中。所以我想我錯過了一些構建步驟,這是在嘗試直接在package.json中訪問github repos時創建/ dist文件所必需的。

+0

有同樣的問題 - 你想通了? – paqash

+0

如果您在package.json中引用的git repo不包含/ dist文件夾,那麼解決方案就是這樣。在本地克隆git倉庫,然後在克隆的倉庫中運行npm install,然後運行npm run build(或者任何build命令 - 這將在READ.ME中)。現在回到這個回購協議,並切換到您正在使用的回購協議,即使用您剛剛克隆和構建的依賴關係的協議。現在從這裏開始,你可以運行和本地npm安裝,如下所示。 npm install/path/to/dependency /,(例如npm install ../cool-package/)。 –

+0

或者,如果您有權訪問您在package.json中引用的repo,則可以執行此操作。在本地克隆回購,運行npm install和npm run build。確保/ dist不在克隆的repo中的.gitignore文件中,然後git添加/ dist文件夾和更新的.gitignore文件,提交併推送到遠程倉庫。這個repo現在會有一個/ dist文件夾,這樣你的package.json就會安裝.dist文件夾,這就是你需要的。希望這一切都有幫助。 –

回答

0

我剛剛在這裏快速瀏覽了文檔。 package.json docs

看起來你可能使用的是ssh,但npm需要http。

在你的情況下,嘗試回購切換到:

https://github.com/developer-who-forked/cool-package.git

+0

即使我使用https://github.com/developer-who-forked/cool-package.git,/ node_modules/cool-package /中仍然沒有dist文件夾,所以我正在運行的應用程序失敗。 –