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);