【发布时间】:2015-09-20 21:02:49
【问题描述】:
尝试使用meteor 命令构建时,我的终端出现以下错误:
W20150920-14:33:43.538(-5)? (STDERR)
W20150920-14:33:43.539(-5)? (STDERR) /Users/cwahlfeldt/.meteor/packages/meteor-tool/.1.1.4.g96qzu++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150920-14:33:43.539(-5)? (STDERR) throw(ex);
W20150920-14:33:43.539(-5)? (STDERR) ^
W20150920-14:33:43.575(-5)? (STDERR) Error: A method named 'queuerInsert' is already defined
W20150920-14:33:43.575(-5)? (STDERR) at packages/ddp/livedata_server.js:1461:1
W20150920-14:33:43.575(-5)? (STDERR) at Function._.each._.forEach (packages/underscore/underscore.js:113:1)
W20150920-14:33:43.575(-5)? (STDERR) at [object Object]._.extend.methods (packages/ddp/livedata_server.js:1459:1)
W20150920-14:33:43.575(-5)? (STDERR) at app/lib/collections/queuers.js:31:12
W20150920-14:33:43.575(-5)? (STDERR) at app/lib/collections/queuers.js:83:3
W20150920-14:33:43.576(-5)? (STDERR) at /Users/cwahlfeldt/Sites/queue/.meteor/local/build/programs/server/boot.js:222:10
W20150920-14:33:43.576(-5)? (STDERR) at Array.forEach (native)
W20150920-14:33:43.576(-5)? (STDERR) at Function._.each._.forEach (/Users/cwahlfeldt/.meteor/packages/meteor-tool/.1.1.4.g96qzu++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20150920-14:33:43.576(-5)? (STDERR) at /Users/cwahlfeldt/Sites/queue/.meteor/local/build/programs/server/boot.js:117:5
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.
=> Modified -- restarting.
我已经有几周没有接触过该应用程序的本地版本了,据我所知,该应用程序当时运行良好,它的实时生产版本也是如此。我使用meteor reset 重置了数据库,我还删除了.meteor/local/db/ 目录并尝试使用新数据库重新开始......仍然没有。我在 Heroku 上有一个工作版本并将其克隆下来,一切正常,但我希望我的原始存储库能够工作。
谢谢!
附言这里是定义集合和方法的地方。
Queuers = new Mongo.Collection('queuers');
if (Meteor.server) {
Meteor.methods({
// insert a new queuer at the bottom of the list
queuerInsert: function(queuerAttr) {
var queuer = {
name: queuerAttr.name,
partySize: queuerAttr.partySize,
phoneNumber: queuerAttr.phoneNumber,
texted: false,
date: new Date()
};
var queuerId = Queuers.insert(queuer);
return {
_id: queuerId
};
},
// remove a single queuer
queuerRemove: function(id) {
if (id) {
Queuers.remove(id);
}
},
// reset the entire db of queuers
queueReset: function() {
Queuers.remove({});
},
messageQueuer: function(data) {
var queuer = data.queuer;
twilio = Twilio('KEY', 'KEY');
twilio.sendSms({
to: '+1' + queuer.phoneNumber, // Any number Twilio can deliver to
from: '+NUMBER', // A number you bought from Twilio and can use for outbound communication
body: data.message // body of the SMS message
}, function(err, responseData) { //this function is executed when a response is received from Twilio
if (!err) { // "err" is an error received during the request, if any
// "responseData" is a JavaScript object containing data received from Twilio.
// A sample response from sending an SMS message is here (click "JSON" to see how the data appears in JavaScript):
// http://www.twilio.com/docs/api/rest/sending-sms#example-1
console.log(responseData.from); // outputs "+NUMBER"
console.log(responseData.body); // outputs "word to your mother."
}
});
return {
date: queuer.date
};
}
});
}
【问题讨论】:
-
您的代码在我这边没有复制。我假设你已经在另一个文件中再次定义了这个方法。
-
尝试
diff将旧的、损坏的文件夹与新的heroku克隆文件夹一起使用。