0
votes

Environment :

Issue :

While creating a gRPC datasource, it doesn't read the proto file and throws an error

Error :

if (err) throw err;^
TypeError: Cannot initialize connector "loopback-connector-grpc": Cannot read property 'ns' of null
    at Object.load (C:\Projects\GRPC\loopback-grpc\Server\node_modules\grpc\src\node\index.js:161:28)
    at GRPCConnector.connect (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-connector-grpc\lib\grpc-connector.js:71:21)
    at Object.initializeDataSource [as initialize] (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-connector-grpc\lib\grpc-connector.js:25:15)
    at DataSource.setup (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-datasource-juggler\lib\datasource.js:416:19)
    at new DataSource (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-datasource-juggler\lib\datasource.js:122:8)
    at Registry.createDataSource (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback\lib\registry.js:360:12)
    at Function.loopback.createDataSource (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback\lib\loopback.js:339:41)
    at Object.module.exports [as func] (C:\Projects\GRPC\loopback-grpc\Server\server\boot\server.js:9:21)
    at C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\lib\executor.js:316:22
    at iterate (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\node_modules\async\lib\async.js:146:13)
    at C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\node_modules\async\lib\async.js:157:25
    at C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\lib\executor.js:321:9
    at iterate (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\node_modules\async\lib\async.js:146:13)
    at C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\node_modules\async\lib\async.js:157:25
    at C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\lib\executor.js:321:9
    at iterate (C:\Projects\GRPC\loopback-grpc\Server\node_modules\loopback-boot\node_modules\async\lib\async.js:146:13)

Reproduced steps :

I have just followed the documentation on loopback-connector-grpc official repository.

I tried it with code, it didn't create the datasource

var ds = loopback.createDataSource('grpc', {
    connector: 'loopback-connector-grpc',
    spec: 'note.proto',
});

also I tried with this :

"gRPCDataSource": {
    "name": "gRPCDataSource",
    "connector": "grpc",
    "spec": "note.proto",
    "security": {
      "type" : "basic", 
      "username": "the user name",
      "password": "thepassword"
} 

but still has the same result.

I also used this command lb datasource followed the steps, downloaded the connector, again same error.

1

1 Answers

0
votes

I found it, I just moved the proto file directory. It has to be in the project root directory