将NPM依赖项安装到不包含package.json的文件夹中

时间:2016-12-04 05:21:43

标签: node.js npm npm-install

我有一个看起来像这样的目录

/foo

是的,它是一个空文件夹,我想运行

cd foo && npm install bar

然而,npm抱怨foo目录中没有package.json文件。

如果那里还没有package.json文件,是否有可靠的方法将依赖安装到目录中?

原来,这只是一个警告,而不是错误,我误读,它说:

  

npm WARN enoent ENOENT:没有这样的文件或目录,打开   '/home/olegzandr/.suman/package.json'

我想我的问题就变成了,有没有办法告诉NPM忽略丢失的package.json文件?

5 个答案:

答案 0 :(得分:5)

删除 package-lock.json 为我解决了。

答案 1 :(得分:2)

package.json的一个主要原因是记录给定应用程序具有的依赖关系。话虽如此,您可以在目录中运行npm init来创建package.json,也可以使用npm install -g bar全局安装软件包。

答案 2 :(得分:1)

您可以使用以下命令行:

  

npm install packegName --loglevel = error

它只会显示错误。例如,下载或包中的问题无法找到。

答案 3 :(得分:1)

试试这个:

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

答案 4 :(得分:-2)

package.json文件不仅包含您的项目信息,还包含依赖项,这使您的项目可以自我包含和轻松部署。但是,您仍然可以通过运行npm install bar -g来全局安装没有package.json文件的软件包,但这不会成为您项目依赖项的一部分,它只会在您的本地计算机中。

所以,问题实际上取决于你的目的,但正如我所提到的,可以在没有package.json文件的情况下全局安装npm包。当您将项目移动到另一台PC或服务器时,只需要再次安装它即可。