127.0.0.1 live-сервер в npm не может открыться ни в одном браузере. в чем проблема?

Пожалуйста, помогите мне на моем ноутбуке, когда я публично ввожу live-server после установки -g 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' ]

1 ответ

Просто запустите командную строку от имени администратора перед запуском live-сервера, и все должно работать так, как должно.

Изменить: на самом деле нет. У меня была та же проблема, и я попробовал это: это сработало, но (как выяснилось позже) по какой-то причине работает, только если мы запускаем live-server из C:\Windows\System32>. Мы вернулись на круги своя. Сожалею.

У меня была аналогичная проблема, не совсем такая, но я думаю, что предложенное мной решение сработает.

Но сначала ваша проблема кажется, что у вас нет глобальной папки node_modules на вашем пути. Вы можете проверить это с помощью echo $PATH из cmd и установите его, выполнив поиск "переменных среды" после нажатия кнопки Windows один раз.

Даже если большинство пакетов предлагают установить их с помощью -g, это обычно не лучший вариант, в основном потому, что ваш проект не будет самодостаточным. Таким образом, вам всегда нужно будет глобально устанавливать свои зависимости на новом компьютере, производственном сервере и т. Д.

Хотя удобно не загружать некоторые пакеты, часто используемые на машине разработки, гораздо безопаснее запустить npm / yarn install без -g, а затем подождать еще минуту после клонирования проекта (держу пари, многие люди не согласны со мной по поводу тот).

В любом случае, есть несколько уловок с live-перезагрузкой, и мне было трудно использовать их, если не запускать как скрипт. Не только по этой причине, но и потому, что он ищет конфигурацию.live-reload.json внутри домашней папки для пользователя, и это не может быть указано в качестве аргумента.

TL; DR; Это соответствующие части из моего проекта, это должно сработать и для вас:

package.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);
Другие вопросы по тегам