【发布时间】:2013-07-01 02:33:23
【问题描述】:
与:
- Mac OS 10.8.4
- 节点 0.10.12
- npm 1.3.1
- grunt-cli 0.1.9
- 哟1.0.0-rc.1
- 凉亭0.9.2
- generator-angular@0.3.0
我在干净的yo angular 项目中遇到以下错误,然后是grunt server,然后是grunt test:
Running "connect:test" (connect) task
Fatal error: Port 9000 is already in use by another process.
我是 Yeoman 的新手,很困惑。我已经删除了我的原始项目并在一个新文件夹中创建了一个新项目,以确保我没有忽略任何不可见的配置。我重新启动了机器以确保我没有运行任何我忘记的临时服务器进程。经过所有尝试,基本服务器正常启动,连接到 Chrome,并且观察者会根据任何更改更新浏览器。 (值得注意的是,服务器在 9000 上运行,这对于测试运行程序也尝试使用 9000 来说似乎很奇怪。)但是我在尝试启动测试运行程序时遇到了同样的错误。
这是我可以解决的问题,还是我应该向 Yeoman 团队报告的问题?谢谢。
【问题讨论】:
-
您是否尝试过更改 Gruntfile.js 中测试任务的端口?正如您提到的,livereload 和 test 默认使用相同的端口,所以这可能是问题所在。
-
这很奇怪:他们似乎都在使用相同的数据。如果我将 connect.options.port 更改为 9001,那么 livereload 和 test 都尝试使用 9001,而我得到的只是错误中的不同端口号。我很困惑为什么会这样写,为什么不会有两个具有不同端口号的独立配置。
-
我猜默认配置不会假设您同时运行服务器和测试。也许它应该在文件更改时自动运行测试,或者在构建之前运行它们。