Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENOENT error for valid proto files #114

Open
trusktr opened this issue Dec 11, 2019 · 2 comments
Open

ENOENT error for valid proto files #114

trusktr opened this issue Dec 11, 2019 · 2 comments
Labels

Comments

@trusktr
Copy link

trusktr commented Dec 11, 2019

I've been using protobufjs and other tools for other languages, and everything is working great so far.

I wanted to try swapping protobufjs for pbf, but pbf has an issue with the proto files.

At the top of one of my files, I have

// test.proto

syntax = "proto3";

package foo.models.v1;

import "foo/models/v1/Common.proto";

but then when I run ./node_modules/.bin/pbf ./foo/models/v1/test.proto > example.js I get an error:

❯ ./node_modules/.bin/pbf ./foo/models/v1/test.proto > example.js
internal/fs/utils.js:220
    throw err;
    ^

Error: ENOENT: no such file or directory, open '/Users/trusktr/src/test-data-models/foo/models/v1/foo/models/v1/Common.proto'
    at Object.openSync (fs.js:440:3)
    at Object.readFileSync (fs.js:342:35)
    at readSync (/Users/trusktr/src/test-data-models/node_modules/resolve-protobuf-schema/index.js:14:23)
    at /Users/trusktr/src/test-data-models/node_modules/resolve-protobuf-schema/index.js:18:22
    at Array.forEach (<anonymous>)
    at Function.readSync [as sync] (/Users/trusktr/src/test-data-models/node_modules/resolve-protobuf-schema/index.js:17:11)
    at Object.<anonymous> (/Users/trusktr/src/test-data-models/node_modules/pbf/bin/pbf:13:32)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/Users/trusktr/src/test-data-models/foo/models/v1/foo/models/v1/Common.proto'
}

As you can see, it is repeating part of the path twice (foo/models/v1/foo/models/v1).

As far as I can tell, our proto files are all valid, as they've worked with all of our tools for all our languages so far, just not with pbf due to the above error.

Any ideas?

@trusktr
Copy link
Author

trusktr commented Dec 11, 2019

Seems like the issue may be in resolve-protobuf-schema, considering that pbf uses that. Opened the issue there: mafintosh/resolve-protobuf-schema#10

@predictwise
Copy link

Hi @trusktr,

I release the vector tiles(.pbf) by using Geoserver, but I have no idea how to generate a .proto file. Where does your proto file come from?

Oliver

@mourner mourner added the bug label Jun 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants