我已经创建了一个简单的代理:
var mosca = require("mosca");
var settings = {
port: 1883,
};
var server = new mosca.Server(settings);
server.on("ready", function () {
console.log("ready");
});当我运行这个文件时,我得到了这个错误:
/home//Documents/mqtt/node_modules/jsonschema/lib/validator.js:107
throw new SchemaError('Expected `schema` to be an object or boolean');
^
SchemaError: Expected `schema` to be an object or boolean
at Validator.validate (/home//Documents/mqtt/node_modules/jsonschema/lib/validator.js:107:11)
at Object.validate (/home//Documents/mqtt/node_modules/mosca/lib/options.js:264:26)
at new Server (/home//Documents/mqtt/node_modules/mosca/lib/server.js:104:34)
at Object.<anonymous> (/home//Documents/mqtt/broker.js:16:14)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47 {
schema: undefined
}我正在运行:
节点: v12.18.4
npm: 6.14.6
发布于 2020-10-05 02:08:30
就像JD Allen所说的,运行aedes比mosca更好,在它的依赖jsonschema更新到1.2.8版本后,它被破坏了,你可以手动安装jsonschema 1.2.6来运行它,而不会出错。在更新到1.2.8之前还没有被破坏
发布于 2020-10-28 07:06:25
在validator.js (\node_modules\jsonschema\lib\validator.js:111)中注释以下行:
if((typeof schema !== 'boolean' && typeof schema !== 'object') || schema === null){
throw new SchemaError('Expected `schema` to be an object or boolean');
}发布于 2021-12-01 15:05:59
在运行时转到\node_modules\jsonschema\lib\validator.js。将第106行的代码替换为
if((typeof schema == 'boolean' && typeof schema == 'object') || schema === null){
https://stackoverflow.com/questions/64189045
复制相似问题