我为节点应用程序运行了以下命令:
$ npm install browser-sync --save-dev
安装成功,browser-sync
出现在我的package.json
文件以及我的node_modules
目录中。
但是,当我运行$ browser-sync --version
来检查其是否正常运行时,出现以下错误:
bash:浏览器同步:找不到命令
这为什么不起作用?
注意:这个question很相似,但是我不想像这个问题一样在全局安装它。
任何帮助将不胜感激!
答案 0 :(得分:0)
如果您使用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
文件夹中的所有文件更改。我知道这个问题有点老了,但是没有得到答案,希望我以后可以节省时间。
答案 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
希望有帮助!