在Vagrant虚拟机上运行的grunt serve未显示

6
在虚拟机上运行“grunt serve”没有错误,并且根据命令行对话框的显示,似乎在0.0.0.0:9000/#/上正常提供服务,但是没有任何浏览器(chrome)页面被打开,导航到该地址会显示“无法连接到0.0.0.0:9000”的错误页面。
寻找解决方法已经几天了,但都没有结果,非常需要帮助。
我正在运行一个Ubuntu Precise32盒子,使用Vagrant和Puppet进行配置以支持使用Laravel 4 + AngularJS进行开发。安装的软件包包括: php apache composer mysql phpmyadmin ruby nodejs sass compass yeoman generator-angular
2个回答

4

您是否在Vagrantfile中配置了9000端口的转发?

config.vm.network :forwarded_port, guest: 9000, host: 9000 config.vm.network :forwarded_port, guest: 35729, host: 35729

第一个是用于grunt serve,第二个是用于Grunt中的实时重新加载。


@NolanLawrence 在你完成这个之后,你的虚拟机中是否通过grunt serve打开了Chrome页面?你能够连接到localhost:9000吗?我现在只在Chrome上的9000端口上得到了"No Data Received"错误。不过我确实在35729端口上收到了“welcome”响应。 - hiwaylon
@hiwaylon:我也是。你找到这个问题的解决方案了吗? - EmilioMg

2

我遇到了与hiwaylon在被接受的答案中评论的相同错误。对我有用的解决方案是运行:

 sed -i 's/localhost/0.0.0.0/' Gruntfile.js

"grunt serve"之前


你的解决方案对我很有用,能否解释一下这个命令是如何让grunt serve工作的? - seenukarthi
@KarthikeyanVaithilingam 它只是在您的 Gruntfile.js 中替换 localhost 出现的位置为 0.0.0.0 - Subash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接