【问题标题】:npm install gives error "can't find a package.json file"npm install 给出错误“找不到 package.json 文件”
【发布时间】:2021-08-19 00:00:30
【问题描述】:

npm install / npm install -g 命令在 Windows 7 中不起作用

Node.js 安装正确,node.js 版本为 v0.10.28

无法读取依赖项
ENOENT,打开 '"filepath"\package.json'
这很可能不是 npm 本身的问题。
npm 在当前目录中找不到 package.json 文件。

【问题讨论】:

  • “不工作”不是很有用。从您的屏幕截图看来,package.json 中的某些内容存在问题。可以发一下那个内容吗?日志说什么? (其实ENOENT的意思是npm无法读取指定的文件。你的包文件在哪里?你有吗?)
  • 是的,这会生成 npm-debug.log 文件链接如下:jsfiddle.net/goldfingerxyz/Whz35
  • 您可能还需要确保以管理员身份运行命令提示符。

标签: node.js npm


【解决方案1】:

你没有说你想安装什么模块 - 因此 npm 寻找一个文件 package.json 描述你的依赖关系,显然这个文件丢失了。

所以要么你必须明确告诉 npm 安装哪个模块,例如

npm install express

npm install -g express-generator

或者您必须添加一个package.json 文件并在此处注册您的模块。获取此类文件最简单的方法是让 npm 通过运行来创建一个

npm init

然后添加您需要的内容。请注意,这仅适用于本地安装的模块,不适用于全局模块。

一个简单的例子可能如下所示:

{
  "name": "myapp",
  "version": "0.0.1",
  "dependencies": {
    "express": "4.0.0"
  }
}

或类似的东西。有关package.json 文件的更多信息,请参阅其official documentationthis interactive guide

【讨论】:

  • 非常感谢。在此停留了 2 天。
【解决方案2】:

node 安装了npm,因此您应该拥有npm 的版本,但是npm 的更新频率高于node,因此您需要确保它是最新版本。

sudo npm install npm -g

测试:运行npm -v。版本应高于2.1.8。

npm install

就是这样!

https://www.youtube.com/watch?v=wREima9e6vk

【讨论】:

    【解决方案3】:

    我不确定你想在这里做什么:

    npm install 单独在你的主目录中应该不会做太多事情——它不是节点应用程序的根,所以没有什么要安装的,因为没有 package.json。

    有两种可能的解决方案:

    1) cd 到节点应用程序并在那里运行 npm install。或

    2) 如果您尝试将某些东西安装为在 shell 中使用的命令(您没有节点应用程序),npm install -g packagename-g 标志告诉它安装在全局命名空间中。

    【讨论】:

      【解决方案4】:

      使用下面的命令创建一个 package.json 文件。

      npm init 
      npm init --yes or -y flag
      

      [此方法将使用从当前目录提取的信息生成默认的 package.json。]

      Working with package.json

      【讨论】:

        【解决方案5】:

        >> 对于使用包管理器控制台的 Visual Studio 用户

        如果您在 Visual Studio 中使用包管理器控制台并且想要执行:

        npm install 并获取:

        ENOENT:没有这样的文件或目录,打开 'C:\Users...\YourProject\package.json'

        确认您在正确的目录中执行命令

        VS 在打开包管理器控制台时默认使用 solution 文件夹

        执行dir然后你可以看到你当前在哪个文件夹。很可能在解决方案文件夹中,这就是您收到此错误的原因。 现在你必须 cd 到你的项目文件夹。

        cd YourWebProject

        现在npm install 现在应该可以工作了,如果不行,那么你有另一个问题。

        【讨论】:

          【解决方案6】:

          在我的情况下,我试图在 D 驱动器中创建工作区,而全局包 (node_modules) 和 package.json 在 C 中。只需要这样做

          npm install npm@latest -g
          

          显然具有管理员权限。

          之后重新启动您的 cmd/终端。你应该很高兴

          【讨论】:

            【解决方案7】:

            查看link,了解如何在本地为您的应用程序安装 express.js 的步骤。

            但是,如果由于某种原因您要全局安装 express,请确保您所在的目录是安装 Node 的目录。 在我的 Windows 10 上,package.json 位于

            C:\Program Files\nodejs\node_modules\npm
            

            以管理员身份打开命令提示符并将目录更改为 package.json 所在的位置。

            然后发出安装命令。

            【讨论】:

              【解决方案8】:

              就我而言,我的 package.json 中有错误:

              npm ERR! package.json must be actual JSON, not just JavaScript.

              【讨论】:

                【解决方案9】:

                我遇到了与以下相同的问题。

                npm 错误! errno -4058 npm 错误!系统调用打开 npm 错误! enoent ENOENT: 没有 这样的文件或目录,打开 'D:\SVenu\FullStackDevelopment\Angular\Angular2_Splitter_CodeSkeleton\CodeSke leton\run\package.json' npm 错误! enoent 这与 npm 无关 能够找到一个文件。 npm 错误!恩恩特

                我遇到的问题是,我运行的是命令npm build run,而不是运行npm run build

                只是为了帮助像我这样犯小错误的人。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2017-05-30
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-05-03
                  • 2018-02-26
                  • 2018-10-17
                  • 1970-01-01
                  • 2019-05-05
                  相关资源
                  最近更新 更多