0

我安装tower@0.4.2-22在我的 Windows 8 机器上。在此之后,我尝试验证安装。我启动了mongod服务器,塔式服务器并调用http://localhost:3000在我的浏览器中。我收到错误消息(在浏览器窗口和服务器日志中):TypeError: Object Windows 8 has no method 'match' at Object.Tower.MiddlewareAgent [as handle] (C:\Users\Philipp\Documents\Scripts\tower\Tests \test01\node_modules\tower\lib\tower-middleware\server\agent.js:13:21)在下一个(C:\Users\Philipp\Documents\Scripts\tower\Tests\test01\node_modules\tower\node_modules\connect \lib\proto.js:199:15) 在 Object.handle (C:\Users\Philipp\Documents\Scripts\tower\Tests\test01\app\config\server\bootstrap.coffee:23:14) 在下一个 ( C:\Users\Philipp\Documents\Scripts\tower\Tests\test01\node_modules\tower\node_modules\connect\lib\proto.js:199:15) 在 Object.methodOverride [作为句柄] (C:\Users\Philipp \Documents\Scripts\tower\Tests\test01\node_modules\tower\node_modules\connect\lib\middleware\methodOverride.js:37:

我试图弄清楚发生了什么,并发现在模块 \node_modules\tower\lib\tower-middleware\server\agent.js 方法调用 mac: !!agent.os.match(/mac/i), windows: !!agent.os.match(/win/i), linux: !!agent.os.match(/linux/i) 失败,因为 agent.os 是对象类型而不是字符串。我用 mac 替换了这些行:!!agent.os.toString().match(/mac/i),windows:!!agent.os.toString().match(/win/i),linux:!!agent .os.toString().match(/linux/i) 和塔出现并正在运行。

这是代码中的错误还是我的安装有问题?

首先我用 npm install power -g 安装了 tower 然后我用 tower new test01 创建了一个应用程序接下来的步骤是: - cd test01 - npm install - forever server.js(未安装永远失败) - npm install forever -g -永远的 server.js(失败的 mongod 没有启动)-(启动 mongodb)-永远的 server.js(现在正在运行)-蛋糕手表(在另一个提示中-失败,因为 grunt 丢失)-npm install grunt -g -蛋糕手表(现在它正在运行)-(转到浏览器并输入http://localhost:3000)-(参见上面的错误描述)

4

1 回答 1

1

似乎是最近的一个错误,可能在最近版本的 node.js 或 Tower 的其他依赖项之一中发生了变化,我注意到在过去的几天里,tower 突然收到了一些错误报告,看起来有人提交了昨晚发布了一个补丁 ,因此请注意该拉取请求是否被接受,或者将其拉入您自己的 tower.js 分支中,然后重试。

于 2013-01-11T13:53:07.323 回答