【问题标题】:Install NPM dependency into folder that does not contain package.json将 NPM 依赖项安装到不包含 package.json 的文件夹中
【发布时间】:2017-04-18 17:59:00
【问题描述】:

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

/foo

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

cd foo && npm install bar

但是 npm 抱怨 foo 目录中没有 package.json 文件。

如果那里(还)没有 package.json 文件,是否有一种真正可靠的方法可以将依赖项安装到目录中?

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

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

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

【问题讨论】:

  • @stdob-- 所以npm pack 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 :)
  • 将其添加为答案,我会投票,似乎对我有用

标签: node.js npm npm-install


【解决方案1】:

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

【讨论】:

  • 是的,我的用例有点不寻常,否则你会发现
  • 知道了。你到底想要完成什么?
  • 基本上,我有库,想将不在本地 node_modules 目录中的无关依赖项添加到 NODE_PATH。无关依赖项将安装在没有 package.json 文件的目录中。我想与全局安装的模块安装在没有 package.json 的目录中的方式相同,不是吗?
【解决方案2】:

你可以使用下面的命令行:

npm install packegName --loglevel=error

它只会显示错误。比如下载有问题或者找不到包。

【讨论】:

  • 我试过 --loglevel=silent 并没有用,将尝试这个代替......
  • @AlexanderMills 这对你有用吗?我试了 3 次,没有任何警告。
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

    试试这个:

    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
    

    【讨论】:

      【解决方案5】:

      删除 package-lock.json 解决了我的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-10
        • 2016-08-02
        • 1970-01-01
        • 1970-01-01
        • 2020-01-11
        • 1970-01-01
        • 2015-07-25
        • 2017-09-30
        相关资源
        最近更新 更多