2016-03-25 56 views
1

我正在編寫一個庫,並且需要知道如果用戶在存在package.json文件之前嘗試在其項目中運行npm install -S X會發生什麼情況。在沒有package.json文件的文件夾中運行「npm install --save X」

我剛剛在Windows上試了一下,果然,NPM並沒有發生故障,隨之而來的是業務,但是當安裝命令完成時,仍然沒有node_modules文件夾和package.json文件。

有誰知道預計會發生什麼?我假設我應該要求我的庫的用戶在運行「npm install X」之前運行「npm init」?

看起來NPM確實在安裝結束拋出一個錯誤 -

ENOENT: no such file or directory, open 'package.json' 

,但我不知道這是否阻止創建node_modules目錄,並把實際的依賴性在那裏安裝過程。

+2

你檢查父文件夾嗎?我想它會將它安裝在任何一個包含package.json的父文件夾(或node_modules文件夾,不確定它的實際內容) – lascort

+0

是的,你是對的,它在上面安裝了一個目錄,但沒有package.json文件在那裏,所以也許之前有一個node_modules目錄。 –

回答

1

npm install如果沒有-g標誌,它將在文件夾樹中檢查包含package.jsonnode_modules文件夾的文件夾。

如果滿足這兩個條件中的任何一個,那麼該文件夾將被視爲您運行的npm命令的當前目錄。如果找不到這樣的文件夾,則使用當前文件夾。

正如您所指出的那樣,將創建一個node_modules文件夾,並且在將包裝入緩存後,它將被解包到該文件夾​​中。

相關問題