首页 > 解决方案 > 尝试配置构建时出现 node-gyp 错误

问题描述

我的 iMAC 上安装了 node-gyp:

macOS Big Sur
Version 11.2.3

当我尝试构建模块时:

node-gyp configure build

我得到:

gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.2
gyp info using node@15.11.0 | darwin | x64
gyp info find Python using Python version 3.9.2 found at "/usr/local/opt/python@3.9/bin/python3.9"
gyp info spawn /usr/local/opt/python@3.9/bin/python3.9
gyp info spawn args [
gyp info spawn args   '/usr/local/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/sy/Fathom3/a-safe-backend-server-master/test-addon/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/sy/Library/Caches/node-gyp/15.11.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/sy/Library/Caches/node-gyp/15.11.0',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/sy/Library/Caches/node-gyp/15.11.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/sy/Fathom3/a-safe-backend-server-master/test-addon',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: *** No rule to make target `Release/obj.target/hello/hello.o', needed by `Release/hello.node'.  Stop.
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Darwin 20.3.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/bin/node-gyp" "configure" "build"
gyp ERR! cwd /Users/sy/Fathom3/a-safe-backend-server-master/test-addon
gyp ERR! node -v v15.11.0
gyp ERR! node-gyp -v v7.1.2
gyp ERR! not ok

这是 building.gyp 的内容:

{
    "targets":[
        {
            "target_name":  "hello",
            "sources":      ["hello.cc"]
        }
    ]
}

任何人都可以帮忙吗?

标签: node-gyp

解决方案


已修复,building.gyp 应该是:

{
    "targets":[
        {
            "target_name":  "hello",
            "sources":      ["cppsrc/hello.cc"]
        }
    ]
}

需要源的路径。


推荐阅读