Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Failed to install on Mac

Aberta
#48 4 comentários 19 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
25/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
cpp, node.js

Direção de pesquisa

A falha ocorre enquanto node-gyp executa configure build para src/osx/DeviceINQ.mm; comece reproduzindo a instalação no Mac e revisando os erros de compatibilidade de V8 e NAN relatados. Determine as combinações compatíveis de Node.js e macOS e, em seguida, verifique se a instalação é concluída com sucesso na configuração afetada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Tried to downgrade nan as per #38 with no luck.

> [email protected] install /Users/extempl/Projects/escpos/node_modules/node-bluetooth
> node-gyp configure build

  CXX(target) Release/obj.target/BluetoothSerialPort/src/osx/DeviceINQ.o
../src/osx/DeviceINQ.mm:75:16: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        found->Call(2, argv);
               ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/osx/DeviceINQ.mm:78:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
    callback->Call(0, 0);
              ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/osx/DeviceINQ.mm:109:16: warning: 'Call' is deprecated [-Wdeprecated-declarations]
    baton->cb->Call(1, argv);
               ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/osx/DeviceINQ.mm:121:28: error: expected ')'
void DeviceINQ::Init(Handle<Object> target) {
                           ^
../src/osx/DeviceINQ.mm:121:21: note: to match this '('
void DeviceINQ::Init(Handle<Object> target) {
                    ^
../src/osx/DeviceINQ.mm:121:17: error: out-of-line definition of 'Init' does not match any declaration in 'DeviceINQ'
void DeviceINQ::Init(Handle<Object> target) {
                ^~~~
../src/osx/DeviceINQ.mm:133:5: error: use of undeclared identifier 'target'
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
    ^
../src/osx/DeviceINQ.mm:133:72: error: too few arguments to function call, single argument 'context' was not specified
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
                                                        ~~~~~~~~~~~~~~ ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:5955:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/osx/DeviceINQ.mm:134:5: error: use of undeclared identifier 'target'
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
    ^
../src/osx/DeviceINQ.mm:134:72: error: too few arguments to function call, single argument 'context' was not specified
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
                                                        ~~~~~~~~~~~~~~ ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:5955:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/osx/DeviceINQ.mm:135:5: error: use of undeclared identifier 'target'
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
    ^
../src/osx/DeviceINQ.mm:135:72: error: too few arguments to function call, single argument 'context' was not specified
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
                                                        ~~~~~~~~~~~~~~ ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:5955:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/osx/DeviceINQ.mm:136:5: error: use of undeclared identifier 'target'
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
    ^
../src/osx/DeviceINQ.mm:136:72: error: too few arguments to function call, single argument 'context' was not specified
    target->Set(Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction());
                                                        ~~~~~~~~~~~~~~ ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:5955:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/osx/DeviceINQ.mm:228:16: warning: 'Call' is deprecated [-Wdeprecated-declarations]
        found->Call(2, argv);
               ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/osx/DeviceINQ.mm:231:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
    callback->Call(0, 0);
              ^
../../nan/nan.h:1739:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../nan/nan.h:104:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/osx/DeviceINQ.mm:246:23: error: no matching constructor for initialization of 'String::Utf8Value'
    String::Utf8Value address(info[0]);
                      ^       ~~~~~~~
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3009:5: note: candidate constructor not viable: no known conversion from 'v8::Local<v8::Value>' to 'const v8::String::Utf8Value' for
      1st argument
    Utf8Value(const Utf8Value&) = delete;
    ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3002:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    Utf8Value(Isolate* isolate, Local<v8::Value> obj);
    ^
../src/osx/DeviceINQ.mm:297:20: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
        deviceObj->Set(Nan::New("name").ToLocalChecked(), Nan::New([device.nameOrAddress UTF8String]).ToLocalChecked());
                   ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3365:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:298:20: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
        deviceObj->Set(Nan::New("address").ToLocalChecked(), Nan::New([device.addressString UTF8String]).ToLocalChecked());
                   ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3365:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:308:25: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
            serviceObj->Set(Nan::New("channel").ToLocalChecked(), Nan::New((int)channelID));
                        ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3365:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:311:29: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
                serviceObj->Set(Nan::New("name").ToLocalChecked(), Nan::New([[service getServiceName] UTF8String]).ToLocalChecked());
                            ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3365:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:313:29: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
                serviceObj->Set(Nan::New("name").ToLocalChecked(), Nan::Undefined());
                            ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3365:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:315:28: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
            servicesArray->Set(j, serviceObj);
                           ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3374:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:317:20: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
        deviceObj->Set(Nan::New("services").ToLocalChecked(), servicesArray);
                   ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3365:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:319:22: warning: 'Set' is deprecated: Use maybe version [-Wdeprecated-declarations]
        resultArray->Set(i, deviceObj);
                     ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8.h:3374:3: note: 'Set' has been explicitly marked deprecated here
  V8_DEPRECATE_SOON("Use maybe version",
  ^
/Users/extempl/Library/Caches/node-gyp/12.7.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATE_SOON'
  declarator __attribute__((deprecated(message)))
                            ^
../src/osx/DeviceINQ.mm:325:9: error: too few arguments to function call, expected 4, have 3; did you mean 'Nan::Call'?
    cb->Call(Nan::GetCurrentContext()->Global(), 1, argv);
        ^~~~
        Nan::Call
../../nan/nan_maybe_43_inl.h:345:30: note: 'Nan::Call' declared here
inline MaybeLocal<v8::Value> Call(
                             ^
13 warnings and 12 errors generated.
make: *** [Release/obj.target/BluetoothSerialPort/src/osx/DeviceINQ.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/extempl/.nvm/versions/node/v12.7.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:203:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/Users/extempl/.nvm/versions/node/v12.7.0/bin/node" "/Users/extempl/.nvm/versions/node/v12.7.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/extempl/Projects/escpos/node_modules/node-bluetooth
gyp ERR! node -v v12.7.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 

Linguagem predominante
C++
Estrelas
205
Forks
56
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de lsongdev/node-bluetooth

Todas as issues de lsongdev/node-bluetooth

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.