[英]npm install does not work because certain package does not contain a package.json file
[英]Install NPM dependency into folder that does not contain package.json
我有一個看起來像這樣的目錄
/foo
是的,它是一個空文件夾,我想運行
cd foo && npm install bar
但是 npm 抱怨 foo 目錄中沒有 package.json 文件。
如果那里(還)沒有 package.json 文件,是否有一種真正可靠的方法將依賴項安裝到目錄中?
原來,這只是一個警告,而不是一個錯誤,我誤讀了,它說:
npm WARN enoent ENOENT: 沒有這樣的文件或目錄,打開'/home/olegzandr/.suman/package.json'
我想我的問題變成了,有沒有辦法告訴 NPM 忽略丟失的 package.json 文件?
刪除 package-lock.json 為我解決了。
package.json 的主要原因之一是記錄給定應用程序具有的依賴關系。 話雖如此,您可以在目錄中運行npm init
以創建 package.json 或使用npm install -g bar
全局安裝包。
您可以使用以下命令行:
npm install packegName --loglevel=error
它只會顯示錯誤。 比如下載有問題或者找不到包。
試試這個:
rm -r -f ./node_modules/PACKAGE_NAME && \
mkdir -p ./node_modules/ && \
npm pack PACKAGE_NAME | xargs tar -C ./node_modules -xzf && \
mv ./node_modules/package ./node_modules/PACKAGE_NAME && \
rm PACKAGE_NAME *.tgz
package.json 文件不僅包含您的項目信息,還包含依賴項,這使您的項目自包含和輕松部署。 但是,您仍然可以通過運行npm install bar -g
全局安裝沒有 package.json 文件的包,但這不會成為您項目依賴項的一部分,它只會在您的本地機器中。
所以,這個問題實際上取決於你的目的,但正如我提到的,可以在沒有 package.json 文件的情況下全局安裝 npm 包。 如果這是您的目的,當您將項目移動到另一台 PC 或服務器時,您必須再次安裝它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.