npm 或 yarn 测试失败并显示“npm ERR!enoent spawn bash ENOENT”

问题描述

我正在尝试学习如何分叉 Compound (https://medium.com/compound-finance/a-walkthrough-of-contributing-to-the-compound-protocol-9450cbe2133a) 的教程。我想添加一个新令牌。但为了做到这一点,我首先需要能够让应用通过所有测试。

问题是我无法首先运行测试。根据教程,我只需要键入 yarn test 即可运行测试。但是,当我尝试这样做时,我收到错误消息,似乎暗示它找不到测试文件的路径。例如:

'.\script\test' 不被识别为内部或外部命令, 可运行的程序或批处理文件错误 命令失败,退出代码为 1。 信息 请访问 https://yarnpkg.com/en/docs/cli/run获取有关此命令的文档。" >

npm 错误代码 ENOENT npm 错误!系统调用生成 bash npm 错误!路径 C:\Users\tombl\Documents\Code\compound-protocol npm 错误错误号 -4058 npm 错误! enoent 生成 bash ENOENT npm 错误! enoent 这与 npm 无法找到文件有关。 npm 错误! enoent>

在调查了一些之后,我发现它试图在 package.json 中运行一个名为“test”的脚本。

脚本如下所示:"test": "./script/test",

起初,我得到的回复是“。”不是公认的命令。然后我尝试将整个路径名放入其中,以免其中包含句点。所以我编辑了 package.json 说 "test": "C:/Users/tombl/Documents/Code/compound-protocol/script/test",

那没有用。接下来,我尝试在 Windows 中编辑环境变量,以便 CMD 识别文件夹(我使用的是 Visual Studio Code 中的终端)。那也没有用。

在阅读了其他一些堆栈交换答案后,我遵循了此处的建议 (npm - The system cannot find the path specified) 并输入了 npm config set script-shell bash。这也不起作用。

此外,我尝试编辑 package.json 以便在路径中有第二组引号,如下所示:"test": "'C:/Users/tombl/Documents/Code/compound-protocol/script/test'", 但它仍然不起作用。

哦,我尝试使用 npm test 而不是 yarn test

此时,我不知道下一步该尝试什么。

我可以在文件管理器中非常清楚地看到“测试”文件在那里并且我声明的路径是正确的。我什至可以打开测试文件并查看其中的代码。但我无法让终端运行它。它只是说它不存在。

我确实有一个线索是它停在文件夹“复合协议”处。因此,它要么根本无法识别文件夹复合协议,要么无法识别脚本文件夹在其中。

我想知道“复合协议”中的连字符是否导致了问题,但我得到的关于如何解决这个问题的唯一建议是将整个路径放在引号中,我已经尝试过.

我什至尝试导航到终端内的脚本文件夹并从那里运行测试。虽然它确实让我导航到脚本文件夹,但尝试运行测试会产生一个 > 程序“测试”无法运行:没有应用程序与此操作的指定文件相关联:第 1 行字符:1。 > 错误信息。

有谁知道我会如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)