npm使用ERR启动错误!代码ENOENT,系统调用已打开

时间:2020-02-20 11:46:29

标签: node.js reactjs npm 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

这是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您对可能的原因和可能的解决方案有任何想法吗?

12 个答案:

答案 0 :(得分:9)

只需将CD复制到package.json所在的应用程序目录,然后再次运行npm start

答案 1 :(得分:4)

这是因为你已经完成了

npm install 

npm start

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

cd project-name

然后做

npm install
npm start

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

答案 2 :(得分:1)

您指出的错误:

npm WARN saveError错误提示: 没有此类文件或目录 ,打开'/mnt/c/Users/pal/Desktop/dev/myApp/package.json'< br /> npm WARN ENTENT ENOENT: 没有此类文件或目录 ,打开'/mnt/c/Users/pal/Desktop/dev/myApp/package.json'
npm WARN myApp没有描述
npm WARN myApp没有存储库字段。
npm WARN myApp没有自述文件
npm WARN myApp没有许可证字段。

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

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

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

答案 3 :(得分:1)

我认为 您忘记在项目文件夹problem which i faced

中打开终端

因此解决方案是将目录更改为package.json文件为solution的路径

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

public class DBUtility
{
    public static Connection connect() throws ClassNotFoundException, SQLException {
        Connection con;

        //Class.forName("com.mysql.cj.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://192.168.1.235:3306/mmi?useSSL=false","loginuser","loginpass");

        return con;
    }
}

这是我发现的最佳解决方案!

答案 4 :(得分:1)

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

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

我希望它会奏效。

答案 7 :(得分:0)

如果您位于正确的目录中并且您的项目位于虚拟框中的共享文件夹中,并且由于如下所示的模块文件夹之一中缺少 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

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

就我而言,我在 .env 文件中声明了错误的环境变量

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

答案 11 :(得分:0)

你需要从使用初始化 npm 开始

npm init

之后使用安装npm

npm install