错误:ENOENT:没有这样的文件或目录,stat ... .steampath

Posted

技术标签:

【中文标题】错误:ENOENT:没有这样的文件或目录,stat ... .steampath【英文标题】:Error: ENOENT: no such file or directory, stat ... .steampath 【发布时间】:2021-03-05 20:18:24 【问题描述】:

我正在尝试在一个我很久没有工作的 React 项目上启动开发服务器。在运行 npm installnpm start 时,我收到了标题错误消息。 我尝试手动更新然后降级 Node-sass,但无论我做什么,我仍然遇到同样的错误。 这是我收到的完整错误消息。

Failed to compile.

./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-6-3!./node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/App.scss)
Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.
/home/dylan/Desktop/Werk/Professional stuff/SkylimitHost/node_modules/react-scripts/scripts/start.js:19
  throw err;
  ^

[Error: ENOENT: no such file or directory, stat '/home/dylan/.steampath'] 
  errno: -2,
  code: 'ENOENT',
  syscall: 'stat',
  path: '/home/dylan/.steampath'

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cleanapp@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the cleanapp@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/dylan/.npm/_logs/2020-11-23T05_19_03_778Z-debug.log

这是完整的日志

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/home/dylan/.nvm/versions/node/v14.15.0/bin/node',
1 verbose cli   '/home/dylan/.nvm/versions/node/v14.15.0/bin/npm',
1 verbose cli   'start'
1 verbose cli ]
2 info using npm@6.14.8
3 info using node@v14.15.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle cleanapp@0.1.0~prestart: cleanapp@0.1.0
6 info lifecycle cleanapp@0.1.0~start: cleanapp@0.1.0
7 verbose lifecycle cleanapp@0.1.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle cleanapp@0.1.0~start: PATH: /home/dylan/.nvm/versions/node/v14.15.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/dylan/Desktop/Werk/Professional stuff/SkylimitHost/node_modules/.bin:/home/dylan/.nvm/versions/node/v14.15.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle cleanapp@0.1.0~start: CWD: /home/dylan/Desktop/Werk/Professional stuff/SkylimitHost
10 silly lifecycle cleanapp@0.1.0~start: Args: [ '-c', 'react-scripts start' ]
11 silly lifecycle cleanapp@0.1.0~start: Returned: code: 1  signal: null
12 info lifecycle cleanapp@0.1.0~start: Failed to exec start script
13 verbose stack Error: cleanapp@0.1.0 start: `react-scripts start`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/home/dylan/.nvm/versions/node/v14.15.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (/home/dylan/.nvm/versions/node/v14.15.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1048:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid cleanapp@0.1.0
15 verbose cwd /home/dylan/Desktop/Werk/Professional stuff/SkylimitHost
16 verbose Linux 5.4.0-53-generic
17 verbose argv "/home/dylan/.nvm/versions/node/v14.15.0/bin/node" "/home/dylan/.nvm/versions/node/v14.15.0/bin/npm" "start"
18 verbose node v14.15.0
19 verbose npm  v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error cleanapp@0.1.0 start: `react-scripts start`
22 error Exit status 1
23 error Failed at the cleanapp@0.1.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

我不明白为什么我的服务器无法启动,我们将不胜感激。

【问题讨论】:

我的同事遇到了同样的问题,但我们每个人的错误中都显示了不同的文件。我的是.steampath,他的是libpng12.so.o。 imstupidpleasehelp 的解决方案解决了。 【参考方案1】:

我已经找到了解决方案。此错误只是一个花哨/复杂的缺少依赖项消息。如果您安装了项目所需的所有依赖项(有些可能不在 package.json 文件中),它应该可以正常工作。

【讨论】:

我正在使用react-scripts@4.0.2,我注意到我可以通过查看导入错误来查看我忘记安装的依赖项,这些错误在控制台清除之前显示了几分之一秒,这显示错误 我不得不对 CLI 日志进行屏幕记录,然后以慢动作观看以捕捉未找到模块的错误和丢失模块的名称,哈哈。此外,另一种方法是再次安装所有软件包并查看显示unmet peer dependency 的日志,然后安装它们。 感谢这个答案以及 cmets,我能够运行 yarn start &gt; output.txt,它将错误消息(缺少的模块)转储到文件 output.txt。这是一种非常奇怪的行为,它调用.steampath 的事实让我特别想知道我的 node_modules 中是否存在恶意软件...... 我认为材质图标是材质核心的一部分,并在导入图标时出现此错误。一旦我完成了图标的 npm install ,错误就消失了。只是认为举个例子说明如何触发此错误会有所帮助。 这对我有帮助,还有@OozeMeister 评论,谢谢,在我的情况下是@date-io/moment【参考方案2】:

如果你赶时间!而且没有时间知道为什么会这样!您可以直接移动和滚动到“如何解决它(一种优雅的方式)?”部分(在最后)!我正在展示一个强大而高效的解决方案!

有什么问题?

整个问题是缺少依赖!那可以是一个js模块或一个文件!可能像字体文件或其他类似资产的东西!

And to note: A good error message is being cleaned! Recompiling!
And then the problem belloww is reached and you get the error!

然后错误来了!在我的案例中,我们可以看到缺少的字体!

但是我们为什么以及如何得到这个错误?

驻留在主目录中的损坏的符号链接!这已通过 react-scripts start 运行过程进行了检查!因为它被破坏了,所以访问会抛出一个is no file or directory 错误。

在我们的例子中是.steampath!查看下一部分的详细信息(什么是 steampath

让它变得有趣并确认!我用我的名字创建了一个损坏的符号链接!按照字母顺序!会先处理!

是的!现在这里!我们有.allalBrokenLink!而不是.steampath!一个快速的解决方案是删除损坏的符号链接!但这不是一个好的解决方案! borken .steampath 有它的目的!如果您使用的是 Steam 游戏平台!如果你不这样做!您可以放心删除文件!

否则解决方案非常简单高效! 在 javascript 调试终端中运行!并在错误出现的地方设置断点!所以它会自动暂停!并且会轻松简单地看到问题!请参阅如何解决它(一种优雅的方式)?部分!

为什么要检查主目录?

首先要说的!这不是因为 nodejs 模块解析算法又不是因为模块解析算法

为什么!?

因为模块分辨率!说到模块!在需要倒退的情况下!它回溯到文件系统根目录!并且每次 检查 node_modules 文件夹! 所以如果它达到/home/!它将直接检查/home/node_modules!如果有!如果没有,请转到/node_modules!您可以看到它不会检查目录中的所有文件!所以不会导致损坏的符号链接问题。这是因为某些东西正在遍历所有文件并检查它们!这里不是这样!

这种情况下的算法,除此之外,它检查following

此外,Node.js 将在以下 GLOBAL_FOLDERS 列表中搜索: 1: $HOME/.node_modules 2:$HOME/.node_libraries 3:$PREFIX/lib/node

这可以在这里说明!我在调试时访问了路径:

你可以看到它是如何倒退的!

算法很清楚!你可以在这里查看(ref1,ref2!

在打字稿文档here

我们也可以自己验证!

首先通过访问module.paths,如下所示:

我做了一个测试!一个简单的测试项目!我只导入了一个随机名称!你会得到一个干净的not found module 错误!知道我在相同的环境中进行了测试,我得到了下面的错误!

你可以检查错误类型!

是的,我们没有提到这个问题!那它是什么??

例如,Babel 以类似的东西而闻名!它在哪里寻找 .babelrc 配置。然而,就像节点模块解析一样,它会倒退并专门检查.babelrc!以及任何对特定事物有锁定的决议!或在特定事物内!会直接查的东西! 为什么要检查其他任何东西!? 鉴于我怀疑它会介于 babel、webpack 和 react-scripts 细节或配置之间!而且很可能是一些加载器或插件的东西!我试图手动调试!这很耗时!我开始通过 chrome devtools 协议自动检测!收到后我会第一时间更新!

什么是蒸汽路径

Game steam 平台创建的文件。

https://askubuntu.com/questions/1103540/why-is-there-a-steampath-in-my-home-directory

这是一个已知的 Steam 问题:符号链接被创建并被故意破坏以兼容旧的 Steamworks SDK,而某些游戏仍然使用该 SDK 构建。

来自https://github.com/anyc/steam-overlay/issues/206

Steam 每次运行时都会在 $HOME 中创建指向不存在的 .steam/sdk32/steam 的符号链接 .steampath,而它应该指向 .steam/bin32/steam。

请勿删除或更改此符号链接,它存在并且被故意破坏以提供旧版 Steamworks 兼容性,如 ValveSoftware/steam-for-linux#5245 中所跟踪。(~/.steam/sdk32/什么都是需要的)

所以如果你使用steam!您可能不想删除此文件!

如何解决(优雅的方式)?

如果你什么都不记得!你可以去find in folder > node_modules!并搜索Failed to compile!通常你会永远记得!

确保选择第二个找到的元素!

知道你也可以,只需打开文件搜索托盘 (CTRL + P)

搜索devServerUtils

然后在文件中再次搜索!

那可能更快!

在此之后,您设置断点,如下图所示!

并启动一个调试器终端!

知道你只需要return语句上的断点

您也可以使用 process.exit()!但我更喜欢使用调试器!因为它更干净、更简单!

如何启动 javascript 调试终端!

运行npm start!在那个调试器终端中!

执行会在断点处自动停止!而且您将能够轻松阅读并轻松了解问题所在

知道一次就完成一次!您可以稍后在需要时启动 javascript 调试终端!你会得到它的作品!因为你的断点仍然存在!

这样做不需要任何知识!

如果不熟悉调试器!并想更好地了解它!

您可以检查nodejs进程和javascript调试终端here的调试器自动附加

还有debugging in general

【讨论】:

【参考方案3】:

就我而言,这是因为 package.json 中缺少一个包。

yarn startnpm run start 没有帮我找到丢失的包裹。要查找丢失的,请尝试运行构建命令 (yarn build),构建将退出并显示如下错误详细信息。

正如上面的屏幕截图所说,缺少一个包(在我的例子中是react-dnd-html5-backend)。

【讨论】:

【参考方案4】:

此问题是由于缺少一些依赖项引起的。缺少的依赖项没有在package.json 中列出,但正在项目中使用。 在清除之前,您可以在控制台中看到错误一瞬间。我必须记录我的屏幕并以慢动作查看它以找到丢失的内容并安装它。

【讨论】:

谢谢我也必须这样做!它清除得太快了!【参考方案5】:

缺少某些包。就我而言,它是@reduxjs/toolkit。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review【参考方案6】:

将 node-sass 降级到版本 4 后,重新启动您的开发服务器。

【讨论】:

你不会相信这种事发生在我身上多少次了 我仍然收到错误消息。降级就是把package.json文件改成"node-sass": "^4.0.0",吧? 是的。我试图复制您的错误,但没有成功【参考方案7】:

请务必检查您的进口!我正在使用 VS 代码并遇到了同样的问题,因为不是这样做

import useHistory from 'react-router-dom'

// I did (well, actually vscode did it by performing incorrect autoimport)
import useHistory from 'react-router'

【讨论】:

【参考方案8】:

解决了查看此日志,npm 清除屏幕并丢失所有这些信息。

npm start > log.txt

【讨论】:

以上是关于错误:ENOENT:没有这样的文件或目录,stat ... .steampath的主要内容,如果未能解决你的问题,请参考以下文章

纱线安装错误“ENOENT:没有这样的文件或目录

错误:ENOENT:没有这样的文件或目录,错误时统计“/public/main.html”(本机)

Heroku ENOENT:没有这样的文件或目录,stat '/app/build/index.html'

使用 fs.readdir 和 fs.statSync 返回 ENOENT,没有这样的文件或目录错误

ENOENT:没有这样的文件或目录,stat '/Users/sampai/Desktop/Repos/task_tracker/task_tracker/build/index.html'

运行 Solidity 合约导致“ENOENT:没有这样的文件或目录”错误