首页 > 解决方案 > enoent ENOENT:没有这样的文件或目录,

问题描述

 C:\Users\shagy\Desktop\3RD YEAR 2ND SEMESTER\SPM\Newfolder\SPM-SMS>npm start 
npm ERR! path C:\Users\shagy\Desktop\3RD YEAR 2ND SEMESTER\SPM\New folder\SPM-SMS\package.json npm ERR! code ENOENT
npm ERR! errno -4058 
npm ERR! syscall open 
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\shagy\Desktop\3RD YEAR 2ND SEMESTER\SPM\New folder\SPM-SMS\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!   C:\Users\shagy\AppData\Roaming\npm-cache\_logs\2018-09-05T14_23_49_736Z-debug.log

如何解决这个问题?即使在之后npm install,这个错误也出现了

标签: node.jsnpm

解决方案


这与 npm 找不到文件有关。错误消息npm ERR! enoent告诉您找不到该文件。

首先检查文件是否确实存在于该路径下的 fs 上,并检查用于调用该文件的参考路径是否存在拼写错误。

如果这是一个新项目,您可以致电

npm init 

节点将初始化您的项目并为您创建一个package.json..

来自官方文档:

说明:npm init 可用于设置新的或现有的 npm 包。

在这种情况下,初始化程序是一个名为 create- 的 npm 包,它 > 将由 npx 安装,然后执行其主 bin —— 大概 > 创建或更新 package.json 并运行任何其他与初始化相关的 > 操作。

init命令转化为对应的npx操作如下:

  • npm init foo -> npx create-foo
  • npm init @usr/foo -> npx @usr/create-foo
  • npm init @usr -> npx @usr/create

任何其他选项都将直接传递给命令,因此 npm init foo --hello 将映射到 npx create-foo --hello。

如果初始化器被省略(通过调用 npm init),init 将回退到旧的 init 行为。它会问你一堆问题,然后为你写一个 package.json。它将尝试根据现有字段、依赖项和选择的选项进行合理的猜测。它是严格附加的,因此它将保留已设置的所有字段和值。您也可以使用 -y/--yes 完全跳过问卷。如果你通过 --scope,它将创建一个作用域包。

有关更多详细信息,请阅读有关npm init的官方文档。


推荐阅读