0

在此处输入图像描述

请任何人在我的笔记本电脑上帮助我,当我在安装 -g live-server 后公开输入 live-server 然后显示此文本并且不在浏览器中打开:-

events.js:291
      throw er; // Unhandled 'error' event
      ^

Error: spawn cmd ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:268:19)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:274:12)
    at onErrorNT (internal/child_process.js:468:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn cmd',
  path: 'cmd',
  spawnargs: [ '/c', 'start', '""', '/b', 'http://127.0.0.1:8080' ]
4

2 回答 2

0

我现在有一个类似的问题,不完全相同,但我认为我建议的解决方案会奏效。

但首先,您的问题似乎您的路径中没有全局 node_modules 文件夹。您可以使用echo $PATHfrom cmd 进行检查,并在按一次 windows 按钮后通过搜索“环境变量”进行设置。

即使大多数软件包建议使用 -g 安装它们,这实际上通常也不是最好的,主要是因为您的项目不会是独立的。因此,当您在新机器、生产服务器等上时,您总是需要全局安装您的依赖项......

虽然不必下载一些经常在开发机器上使用的软件包很方便,但在没有 -g 的情况下运行 npm/yarn install 会更安全,然后在克隆项目后多等一分钟(我敢打赌,很多人不同意我的观点那)。

无论如何,live-reload 有一些技巧,我发现它很难使用,除非作为脚本运行。不仅因为这个原因,还因为它在用户的主文件夹中查找 .live-reload.json 配置,并且不能将其指定为参数。

TLDR; 这是我项目中的相关部分,这也应该适用于您:

包.json

{
  scripts:{
    "local": "yarn build && node live-server.js",
    "build"  : "#install other dependencies"
  },
  "devDependencies": {
    "live-server": "^1.2.1"
  }
}

live-server.js

var liveServer = require("live-server");
const path = require('path');

var params = {
    port: 8181, // Set the server port. Defaults to 8080.
    host: "127.0.0.1", // Set the address to bind to. Defaults to 0.0.0.0 or process.env.IP.
    root: path.join(__dirname, '/public'), // Set root directory that's being served. Defaults to cwd.
    open: true, // When false, it won't load your browser by default.
    wait: 100, // Waits for all changes, before reloading. Defaults to 0 sec.
    logLevel: 2, // 0 = errors only, 1 = some, 2 = lots
};
liveServer.start(params);
于 2020-11-29T23:54:33.330 回答
0

只需在运行 live-server 之前以管理员身份运行命令提示符,事情就应该按应有的方式运行。

编辑:实际上没有。我遇到了同样的问题并尝试过:它可以工作,但是(后来发现)出于某种原因,只有当我们从 C:\Windows\System32> 运行“live-server”时才有效。我们回到第一方。对不起。

于 2020-07-27T07:37:57.257 回答