npm 启动错误并出现 ERR!代码 ENOENT,系统调用打开

Posted

技术标签:

【中文标题】npm 启动错误并出现 ERR!代码 ENOENT,系统调用打开【英文标题】:npm start errors with ERR! code ENOENT, syscall open 【发布时间】:2020-06-04 17:41:57 【问题描述】:

我的 React 应用程序中的“npm start”突然出现问题。当我触发它时,这是我收到的:

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /mnt/c/Users/pal/Desktop/dev/myApp/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/mnt/c/Users/pal/Desktop/dev/myApp/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/palnic/.npm/_logs/2020-02-20T11_30_39_463Z-debug.log

这是调试日志:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using npm@6.13.7
3 info using node@v12.13.1
4 verbose stack Error: ENOENT: no such file or directory, open '/mnt/c/Users/pal/Desktop/dev/myApp/package.json'
5 verbose cwd /mnt/c/Users/pal/Desktop/dev/myApp/package.json
6 verbose Linux 4.4.0-18362-Microsoft
7 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
8 verbose node v12.13.1
9 verbose npm  v6.13.7
10 error code ENOENT
11 error syscall open
12 error path /mnt/c/Users/pal/Desktop/dev/myApp/package.json
13 error errno -2
14 error enoent ENOENT: no such file or directory, open '/mnt/c/Users/pal/Desktop/dev/myApp/package.json'
15 error enoent This is related to npm not being able to find a file.
16 verbose exit [ -2, true ]

我尝试了以下解决方案:

sudo npm install -g npm     //(ok!)
sudo npm cache clean   //(not working if not using --force flag)

然后npm install 返回:

npm WARN saveError ENOENT: no such file or directory, open '/mnt/c/Users/pal/Desktop/dev/myApp/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/mnt/c/Users/pal/Desktop/dev/myApp/package.json'
npm WARN myApp No description
npm WARN myApp No repository field.
npm WARN myApp No README data
npm WARN myApp No license field.

up to date in 0.454s
found 0 vulnerabilities

我的 npm 版本是:6.13.7

这是我的 package.json


  "name": "myApp",
  "version": "0.1.0",
  "private": true,
  "dependencies": 
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.4.0",
    "@testing-library/user-event": "^7.2.1",
    "firebase": "^7.7.0",
    "node-sass": "^4.13.1",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-redux": "^7.1.3",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.3.0",
    "react-stripe-checkout": "^2.6.3",
    "redux": "^4.0.5",
    "redux-logger": "^3.0.6",
    "redux-persist": "^6.0.0",
    "redux-saga": "^1.1.3",
    "redux-thunk": "^2.3.0",
    "reselect": "^4.0.0",
    "styled-components": "^5.0.0"
  ,
  "scripts": 
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  ,
  "eslintConfig": 
    "extends": "react-app"
  ,
  "browserslist": 
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  

A您对可能的原因和可能的解决方案有什么想法吗?

【问题讨论】:

这个错误是不言自明的。在您 npm install 所在的文件夹中没有 package.json 文件。 确保安装在 package.json 所在的根文件夹中。 【参考方案1】:

只需将cd 转到package.json 所在的应用目录,然后再次运行npm start

【讨论】:

很抱歉没有。然而,正如支持者所说,它帮助了许多其他人。这只是意味着您的用例不同。尝试其他解决方案。 创建 index.js 文件对我有用,然后重新运行 start 和 install 方法。【参考方案2】:

我认为 你忘了在项目文件夹中打开终端@

所以解决方案是将目录更改为您的 package.json 文件为的路径

我的项目文件夹是 Currency 而不是 CurrancyConverter

cd currency 

这是我找到的最佳解决方案!!!

【讨论】:

你赢了很多(y)【参考方案3】:

这是因为你已经完成了

npm install 

npm start

从项目目录之外解决这个问题。 先做

cd project-name

然后做

npm install
npm start

我希望这能解决您的问题,因为它对我有用。

【讨论】:

【参考方案4】:

您所说的错误:

npm WARN saveError ENOENT:没有这样的文件或目录,打开 '/mnt/c/Users/pal/Desktop/dev/myApp/package.json' npm WARN enoent ENOENT:没有这样的文件或目录,打开 '/mnt/c/Users/pal/Desktop/dev/myApp/package.json' npm WARN myApp 无描述 npm WARN myApp 没有存储库字段。 npm WARN myApp 没有 README 数据 npm WARN myApp 没有许可字段。

您可以检查粗体行。它说明您不在包含package.json 文件的目录中。

大多数情况下,您应该在 app 目录中运行此命令。因此,您需要将cd 放入包含package.json 的目录中,然后您可以在那里运行您的命令,例如npm install, npm start 等。

因此,在运行这些命令之前,请检查您是否在正确的目录中。

【讨论】:

【参考方案5】:

使用cd到你的项目的主目录(或package.json所在的目录),然后运行npm start命令。

这通常发生在使用终端时。

【讨论】:

【参考方案6】:

您需要 cd(更改目录)进入 package.json 所在的正确目录。

【讨论】:

【参考方案7】:

这是一个很小的问题 您可以通过更改文件夹的目录轻松解决此问题

你可以 在这里看到我在目录中犯了一个错误,因为我试图在react-proj 中运行npm,但我已经创建了一个名为quiz-app 的文件夹,所以我通过写cd folder name 更改了目录,例如cd quiz-app

然后运行文件

npm start

希望能解决你的问题

【讨论】:

【参考方案8】:

只有当我们在项目之外并尝试 npm start 时才会出现此错误,只需确保您在正确的文件夹中仔细检查 package.json 文件的位置。 就我而言,我有新的 app 文件夹,其中 my-app 文件夹在那里,所以我很困惑,并认为我在正确的文件夹中。 所以请确保您位于要输入 npm start 的正确文件夹中

我希望它会起作用。

【讨论】:

【参考方案9】:

如果您在正确的目录中并且您的项目位于虚拟框中的共享文件夹中,并且由于以下模块文件夹之一中缺少 package.json 文件而显示您的错误,那么它与npmpackage-lock,和虚拟盒子共享文件夹有关。

这是我的错误。

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path <project_location>/node_modules/yargs/node_modules/string-width/package.json.3307748328
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '<project_location>/node_modules/yargs/node_modules/string-width/package.json.3307748328'

我发现这是一个众所周知的问题,有很多关于如何解决它的好建议。

https://github.com/npm/npm/issues/992

我最终使用了这个:

https://github.com/npm/npm/issues/992#issuecomment-289935776

【讨论】:

我遇到了同样的问题,并且使用 github 中的解决方案也做了同样的事情,但仍然没有为我工作。你也在使用 vagrant 和 virtualbox 吗?【参考方案10】:

如果您在正确的目录中尝试 npm start 并且它还没有工作,我也是同样的问题。我的目录是 (...)/web/ web 所以我将项目的本地更改为 (...)different_name_subdirectory/web 它对我有用

【讨论】:

【参考方案11】:

您可能在一个外部文件中。您必须在项目的内部文件中启动项目。注意命令行。 像这样 错误:C:\projects\file A\file B...\fileX 解决:C:\projects\file A\file B...\fileX\reactFile

【讨论】:

【参考方案12】:

我得到同样的错误,但不是目录问题。

就我而言,我在 .env 文件中声明了 Wrong Environment Variable

所以,如果您遇到完全相同的问题,但不是目录问题,请检查您的项目的 .env(环境变量)。

【讨论】:

【参考方案13】:

你需要首先使用初始化npm

npm init

然后使用安装 npm

npm install

【讨论】:

很好的编辑,现在看起来像是一个答案。 :-) 我只是将格式更改为更适合代码的格式。在 *** 上玩得开心。 (由于缺乏技术理解,无法投票。抱歉。)【参考方案14】:

可能是您没有从源文件夹启动您的 React 应用程序。

错误:npm 错误!代码ENOENT npm 错误!系统调用打开 npm 错误!路径 D:\rn-starter/package.json

你需要检查你的源代码在哪里。

【讨论】:

【参考方案15】:

我刚刚安装了visual studio代码,这个问题就解决了

【讨论】:

【参考方案16】:

您也可以在您的项目文件夹中查看 package.json。如果 package.json 不存在,请尝试创建此文件或重命名 package-lock.json。 之后:npm install 在您的项目文件夹中和 npm 运行 如果您使用最新版本。 它对我有用。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于npm 启动错误并出现 ERR!代码 ENOENT,系统调用打开的主要内容,如果未能解决你的问题,请参考以下文章

npm install报错 npm ERR! enoent ENOENT: no such file or directory

docker-compose 无法以 npm ERR 启动! enoent ENOENT:没有这样的文件或目录,打开'/usr/src/app/package.json'

npm ERR! code ENOENT npm ERR! syscall open npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file

npm ERR! enoent ENOENT: no such file or directory, rename

运行 npm start 时出现“index.js not found”,错误!代码 ELIFECYCLE 和 ENOENT

npm 错误!代码 ENOENT,npm 错误!错误号 34