2014-11-20 71 views
8

我'd模塊。它進展良好,但後來當我從註冊表中安裝它,結果證明缺少某些文件。npm發佈不包括我所有的文件

當我在模塊的項目目錄中運行irish-pub時,輸出沒有列出這些文件名。

我檢查:

  • 我沒有一個.npmignore文件。
  • 我有一個.gitignore但這僅包含/node_modules/
  • 丟失的文件正常JS文件,而不是東西,可能是ignored by default

還有什麼可以阻止他們?

回答

1

我剛碰到同樣的問題,找到答案here

您需要包含您嘗試發佈的目錄(或tarball)的路徑。而在npmjs.org的文件並沒有真正顯示它,如果你運行npm help publish你會得到男人頁面,這表明了正確的用法其實是

npm publish <tarball> [--tag <tag>] npm publish <folder> [--tag <tag>]

我還發現,我不得不實際上輸入了路徑:我不能僅使用包含我的package.json文件的目錄中的npm publish .

希望有所幫助。

+0

我從未必須指定路徑。我只需在目錄中鍵入'npm publish'併發布。 – callum 2015-05-17 14:15:47

1

我有過的「文件」屬性中的package.json以及(intentionaly),但所用的相對pathes的文件和目錄列表以點開頭的斜槓(「./」),但那npm packnpm publish都沒有。刪除這些,都按預期工作!

所以更改:

"files": [ "./bin", "./lib" ] 

到:

"files": [ "bin", "lib" ] 

並運行:

$ npm pack 

檢查GNU壓縮tar文件和finaly:

$ npm publish <projectname>-<semver>.tgz 
相關問題