安装NPM的依赖到文件夹中不包含的package.json
我有一个看起来像这样安装NPM的依赖到文件夹中不包含的package.json
/foo
是的它是一个空文件夹,我想运行
cd foo && npm install bar
目录然而NPM是抱怨foo目录中没有package.json文件。
如果在那里没有package.json文件(还有),是否有一种可靠的方法来将dependency安装到目录中?
事实证明,这只是一个警告,而不是一个错误,我误解,它说:
NPM WARN ENOENT ENOENT:没有这样的文件或目录,打开 “/home/olegzandr/.suman /package.json'
我想我的问题变成了,有没有办法告诉NPM忽略丢失的package.json文件?
package.json的一个主要原因是记录给定应用程序所具有的依赖关系。有了这个说法,您可以在您的目录中运行npm init
来创建package.json或使用npm install -g bar
全局安装该程序包。
是的,我的用例是一个有点不同寻常,否则你会在 –
现货。你试图完成什么? – Dillon
基本上,我有库,想添加一个不在本地node_modules目录中的无关的依赖关系到NODE_PATH。无关的依赖项将被安装在没有package.json文件的目录中。我猜全球安装的模块安装在他们的目录中没有package.json,不是吗? –
你可以写
npm install packegName --loglevel=error
这说明仅错误。例如在下载或包不能找到问题。
我试过--loglevel =沉默,并没有工作,将尝试这个,而不是.... –
@AlexanderMills这适合你吗?我尝试了3次,没有任何警告。 – Alon
package.json文件不仅包含您的项目信息,还包含依赖关系,这使您的项目可以自行包含并轻松进行部署。但是,仍然可以通过运行npm install bar -g
来全局安装没有package.json文件的包,但这不会成为项目依赖项的一部分,它只会在本地计算机上运行。
所以,这个问题实际上取决于你的目的,但正如我所提到的,它可能在没有package.json文件的情况下全局安装npm包。只需要在将项目移动到另一台PC或服务器时重新安装,如果这是您的目的。
试试这个:
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
http://*.com/a/37079775 –
@ stdob--所以'NPM包foo'是要走的路? –
一些像这样的:'rm -r -f ./node_modules/PACKAGE_NAME && mkdir -p ./node_modules/ && npm pack PACKAGE_NAME | xargs tar -C/var/www/node/ork/node_modules -xzf && mv ./node_modules/package ./node_modules/PACKAGE_NAME&& rm PACKAGE_NAME * .tgz' :) –