在 Windows 10 上运行 Svelte - 'sirv' 未被识别为命令

mat*_*own 1 windows npm svelte

我正在尝试开始使用 Svelte。我找到的所有指南都列出了两个命令作为所需的全部命令:

\n\n
npm install\nnpm run dev\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,在 Windows 10 中,全新安装 Node 12.16.3 LTS 和 NPM 6.14.4(根据本指南完全卸载 NodeJS 后与 NVM-Windows 一起安装),一旦我点击,我就会收到以下错误:npm run dev

\n\n
$ npm run dev\n\n> svelte-app@1.0.0 dev C:\\Users\\Matthew\\Desktop\\SvelteTest\n> rollup -c -w\n\n\'rollup\' is not recognized as an internal or external command,\noperable program or batch file.\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! svelte-app@1.0.0 dev: `rollup -c -w`\nnpm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the svelte-app@1.0.0 dev script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR!     C:\\Users\\Matthew\\AppData\\Roaming\\npm-cache\\_logs\\2020-05-23T02_58_39_101Z-debug.log\n
Run Code Online (Sandbox Code Playgroud)\n\n

“嗯......好吧,这很奇怪,因为我看过的每个教程和我读过的指南都有这个,包括,npm install但是,不用担心,我会安装rollup,”我对自己说...很快npm install -g rollup,错误就被修复了!好的开始。可悲的是,这并没有持续太久,因为现在我遇到了以下问题:

\n\n
$ npm run dev\n\n> svelte-app@1.0.0 dev C:\\Users\\Matthew\\Desktop\\SvelteTest\n> rollup -c -w\n\nrollup v2.10.7\nbundles src/main.js \xe2\x86\x92 public\\build\\bundle.js...\nLiveReload enabled\ncreated public\\build\\bundle.js in 338ms\n\n> svelte-app@1.0.0 start C:\\Users\\Matthew\\Desktop\\SvelteTest\n> sirv public "--dev"\n\n\'sirv\' is not recognized as an internal or external command,\noperable program or batch file.\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! svelte-app@1.0.0 start: `sirv public "--dev"`\nnpm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the svelte-app@1.0.0 start script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR!     C:\\Users\\Matthew\\AppData\\Roaming\\npm-cache\\_logs\\2020-05-23T03_00_53_008Z-debug.log\n
Run Code Online (Sandbox Code Playgroud)\n\n

这一次,再多的努力都不起作用npm install -g sirv。我是否缺少让该项目运行的步骤?

\n\n
\n\n

一些注意事项:

\n\n
    \n
  • 我可以让它在 WSL Ubuntu 18.04 LTS 中工作,但如果可能的话,我宁愿不必使用 WSL。

    \n\n
      \n
    • 我在网上没有看到任何说不支持 Windows 的内容...不是吗?是我找的不够仔细吗?
    • \n
  • \n
  • 当我运行时npm install -g rollup,我看到以下警告:

    \n\n
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\\rollup\\node_modules\\fsevents):\nnpm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    我认为,由于这被列为可选依赖项,因此它不是问题的根源。尽管如此,为了以防万一,不提起这件事感觉很愚蠢。这些相同的警告也会在 期间出现npm install

  • \n
  • 据我所知,这些文件npm-cahce\\_logs\\[datetime]-debug.log不包含任何有用的信息,它们只是说“ sirv public "--dev"\xe2\x86\x92 Failed to start exec script”,后跟堆栈跟踪。

  • \n
  • 在第二个错误发生后,程序不会自动终止 - 但它在 处不可用localhost:5000

  • \n
  • 我的文件在 OneDrive 中有一段时间了(它们现在在我的桌面上,没有以任何方式同步或跟踪),OneDrive 对 中的文件感到不安node_modules/.bin,说它们“无法同步,因为他们的名称或类型”——这让我相信这也许是一个更广泛的 Windows/MS 问题?不知怎的,我怀疑这就是问题所在。

  • \n
  • 为了仔细检查,我在 Git Bash(我在 Windows 上的首选终端)、CMD 和 Powershell 中尝试了上述所有步骤——所有步骤都表现出相同的行为。

  • \n
\n\n
\n\n

提前致谢。

\n

mat*_*own 14

啊,好吧……我现在觉得很傻。与 Rollup 相同的问题 — 我必须在npm全局范围内安装它。但是,我错过了NPM 上都有sirv和。sirv-cli

跑步npm install -g sirv-cli解决了我的问题。

但是...我仍然想知道为什么我在任何其他地方的任何指南中都没有看到这个问题以及 Svelte 的Hello World的所有其他内容。任何信息将不胜感激!