San*_*Das 2 windows node.js npm svelte
我正在尝试在 Windows 10 系统上运行Svelte 示例项目。我正在使用 Node v14.17.0 和 npm v6.14.13。当我npm run dev在项目级别目录运行时,出现以下错误。
C:\...\my-svelte-project>npm run dev
> svelte-app@1.0.0 dev C:\...\my-svelte-project
> rollup -c -w
/mnt/c/.../my-svelte-project/node_modules/.bin/rollup: 12: /mnt/c/.../my-svelte-project/node_modules/.bin/rollup: node: not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file bash
npm ERR! errno ENOENT
npm ERR! svelte-app@1.0.0 dev: `rollup -c -w`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the svelte-app@1.0.0 dev 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! C:\Users\...\AppData\Roaming\npm-cache\_logs\2021-05-22T12_25_15_891Z-debug.log
Run Code Online (Sandbox Code Playgroud)
我似乎无法找出错误,并且我尝试了在线提供的一系列建议。有人遇到过这个吗?我最困惑的是node : not found prompt即使节点已明确安装并且位于 Path 变量上。
附加信息:我尝试运行rollup -c -w,这是我得到的错误日志 -
21 error code ELIFECYCLE
22 error syscall spawn bash
23 error file bash
24 error path bash
25 error errno -4058
26 error svelte-app@1.0.0 start: `sirv public --no-clear`
26 error spawn bash ENOENT
27 error Failed at the svelte-app@1.0.0 start script.
27 error This is probably not a problem with npm. There is likely additional logging output above.
28 verbose exit [ -4058, true ]
Run Code Online (Sandbox Code Playgroud)
小智 7
如果您尝试重新安装节点模块和/或整个节点:
该错误似乎是由于缺乏对命令的访问/来自bash该sirv命令 - 我们可以从 ENOENT(Error NO Entry 的缩写)推断出这一点。如果您查看npm 设置文档,我们可以看到如何配置 npm 在运行其脚本时尝试使用的 shell。我怀疑如果你运行npm config get script-shell你会得到bash- 在 Windows 中具体指的是 git bash 。
在我的系统上,有一个工作的 svelte 示例,我将其设置为null(我没有手动设置,奇怪的是不是文档中的选项之一),因此您可以尝试使用npm config set script-shell=nullor 设置它,如果这不能保存您的培根尝试npm config set script-shell=cmd.exe。