npm start 错误并带有 ERR!代码 ENOENT,系统调用打开

pal*_*nic 11 node.js npm reactjs npm-start

我的 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
Run Code Online (Sandbox Code Playgroud)

这是 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 ]
Run Code Online (Sandbox Code Playgroud)

我尝试了以下解决方案:

sudo npm install -g npm     //(ok!)
sudo npm cache clean   //(not working if not using --force flag)
Run Code Online (Sandbox Code Playgroud)

然后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
Run Code Online (Sandbox Code Playgroud)

我的 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"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*chi 21

只需 CD 到 package.json 所在的应用程序目录并npm start再次运行。


Jai*_*Jai 11

您所说的错误:

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 没有自述文件数据
npm WARN myApp 没有许可证字段。

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

大多数时候,您应该在应用程序目录中运行此命令。因此,您需要cd进入所在目录package.json,然后您可以在其中运行命令npm install, npm start等。

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


小智 7

我想你忘了在项目文件夹中打开一个终端 我面临的问题

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

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

cd currency 
Run Code Online (Sandbox Code Playgroud)

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