BrowserSync: команда не найдена после локальной установки - PullRequest
0 голосов
/ 04 ноября 2018

Я выполнил следующую команду для моего приложения узла:

$ npm install browser-sync --save-dev

Установка прошла успешно, browser-sync отображается в моем файле package.json, а также в моем каталоге node_modules.

Однако, когда я запускаю $ browser-sync --version, чтобы проверить, что он работает, я получаю следующую ошибку:

bash: синхронизация браузера: команда не найдена

Почему это не работает?

Примечание : этот вопрос похож, но я не хочу устанавливать его глобально, как в этом вопросе.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Это потому, что вы пытаетесь использовать модуль локально, который обычно устанавливается глобально . Модули, установленные глобально, попадают в переменную окружения PATH , поэтому вы можете запускать их из терминала, как пытаетесь это сделать:

$ browser-sync --version

Если вы хотите использовать модуль browser-sync из локальной установки, вам нужно будет добавить полный путь к двоичному файлу browser-sync из каталога .bin , так как все локально установленные модули находится в вашем текущем рабочем каталоге node_modules. то есть модули узла входят в ./node_modules, исполняемые файлы - в ./node_modules/.bin/. Поэтому для запуска двоичного файла browser-sync из локальной установки выполните следующее:

./node_modules/.bin/browser-sync  --version

Надеюсь, это поможет!

0 голосов
/ 26 апреля 2019

Если вы установили синхронизацию через браузер, используя npm --save или npm --save-dev, вы можете запустить его, написав скрипт в вашем package.json. Вот пример сценария, который я добавил:

{
...
"scripts": {
    "dev-server": "browser-sync start --server 'public' --files 'public'"
  },
...
}

Вы можете запускать сценарии из корневого каталога вашего проекта, например:

npm run dev-server

Это будет запускать любую команду, установленную на dev-server в вашем скрипте. В этом случае он запустит синхронизацию браузера для приложения / сайта в папке с именем /public и будет следить за изменениями файлов в папке /public. Я знаю, что этот вопрос немного устарел, но остался без ответа, и, надеюсь, я смогу сэкономить кому-то время в будущем.

...