BrowserSync:在本地安装后找不到命令

时间:2018-11-03 22:04:00

标签: node.js npm browser-sync

我为节点应用程序运行了以下命令:

$ npm install browser-sync --save-dev

安装成功,browser-sync出现在我的package.json文件以及我的node_modules目录中。

但是,当我运行$ browser-sync --version来检查其是否正常运行时,出现以下错误:

  

bash:浏览器同步:找不到命令

这为什么不起作用?

注意:这个question很相似,但是我不想像这个问题一样在全局安装它。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

如果您使用npm --savenpm --save-dev安装了浏览器同步,则可以通过在package.json中编写脚本来运行它。这是我添加的脚本的示例:

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

您可以像这样从项目的根目录运行脚本

npm run dev-server

这将运行脚本中设置为dev-server的任何命令。在这种情况下,它将在名为/public的文件夹中为应用程序/网站运行浏览器同步,并监视/public文件夹中的所有文件更改。我知道这个问题有点老了,但是没有得到答案,希望我以后可以节省时间。

答案 1 :(得分:0)

这是因为您要尝试在本地使用通常在全球范围内安装的模块全局安装的模块最终出现在您的PATH环境变量中,这就是为什么您可以在终端上运行它们的原因:

$ browser-sync --version

如果要通过本地安装使用browser-sync模块,则必须browser-sync目录中添加.bin二进制文件的完整路径 >因为所有本地安装的模块都放置在当前工作目录node_modules目录中。即,节点模块放入./node_modules,可执行文件放入./node_modules/.bin/。因此,为了从本地安装运行browser-sync二进制文件,请执行以下操作:

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

希望有帮助!