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

问题描述 投票:1回答:2

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

$ npm install browser-sync --save-dev

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

但是,当我运行$ browser-sync --version检查它是否正常工作时,我收到以下错误:

bash:找不到browser-sync:命令

为什么这不起作用?

注意:这个question是类似的,但我不想像在这个问题中那样全局安装它。

任何帮助将不胜感激!

node.js npm browser-sync
2个回答
0
投票

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

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

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

npm run dev-server

这将运行脚本中设置为dev-server的任何命令。在这种情况下,它将在名为/public的文件夹中为app / site运行浏览器同步,并监视/public文件夹中的任何文件更改。我知道这个问题有点陈旧但是没有答案,希望我能在将来节省一些时间。


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

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.