代码之家  ›  专栏  ›  技术社区  ›  Alexander Zeitler

节点6:macOS上hiredis的节点gyp重建失败

  •  11
  • Alexander Zeitler  · 技术社区  · 6 年前

    运行时 yarn install 对于macOS(Mojave)上的Node 6.11.1项目 node-gyp rebuild 对于 hiredis 失败:

    sudo xcode-select --install .

    nvm

    error /Users/alexzeitler/src/some-project/node_modules/hiredis: Command failed.
    Exit code: 1
    Command: node-gyp rebuild
    Arguments:
    Directory: /Users/alexzeitler/src/some-project/node_modules/hiredis
    Output:
    gyp info it worked if it ends with ok
    gyp info using node-gyp@3.4.0
    gyp info using node@6.11.1 | darwin | x64
    gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
    gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
    gyp info spawn /usr/bin/python
    gyp info spawn args [ '/Users/alexzeitler/.nvm/versions/node/v6.11.1/lib/node_modules/npm/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/alexzeitler/src/some-project/node_modules/hiredis/build/config.gypi',
    gyp info spawn args   '-I',
    gyp info spawn args   '/Users/alexzeitler/.nvm/versions/node/v6.11.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
    gyp info spawn args   '-I',
    gyp info spawn args   '/Users/alexzeitler/.node-gyp/6.11.1/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/alexzeitler/.node-gyp/6.11.1',
    gyp info spawn args   '-Dnode_gyp_dir=/Users/alexzeitler/.nvm/versions/node/v6.11.1/lib/node_modules/npm/node_modules/node-gyp',
    gyp info spawn args   '-Dnode_lib_file=node.lib',
    gyp info spawn args   '-Dmodule_root_dir=/Users/alexzeitler/src/some-project/node_modules/hiredis',
    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 WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
    gyp info spawn make
    gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
      CC(target) Release/obj.target/hiredis-c/deps/hiredis/sds.o
      CC(target) Release/obj.target/hiredis-c/deps/hiredis/read.o
      LIBTOOL-STATIC Release/hiredis-c.a
      CXX(target) Release/obj.target/hiredis/src/hiredis.o
    warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
    In file included from ../src/hiredis.cc:1:
    In file included from ../src/reader.h:1:
    In file included from ../../nan/nan.h:51:
    In file included from /Users/alexzeitler/.node-gyp/6.11.1/include/node/node.h:42:
    /Users/alexzeitler/.node-gyp/6.11.1/include/node/v8.h:21:10: fatal error: 'utility' file not found
    #include <utility>
             ^~~~~~~~~
    1 warning and 1 error generated.
    make: *** [Release/obj.target/hiredis/src/hiredis.o] Error 1
    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack     at ChildProcess.onExit (/Users/alexzeitler/.nvm/versions/node/v6.11.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
    gyp ERR! stack     at emitTwo (events.js:106:13)
    gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
    gyp ERR! System Darwin 18.0.0
    gyp ERR! command "/Users/alexzeitler/.nvm/versions/node/v6.11.1/bin/node" "/Users/alexzeitler/.nvm/versions/node/v6.11.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
    gyp ERR! cwd /Users/alexzeitler/src/some-project/node_modules/hiredis
    gyp ERR! node -v v6.11.1
    gyp ERR! node-gyp -v v3.4.0
    gyp ERR! not ok
    

    更新:通过使用Node 8.11.1 非挥发性物质

    4 回复  |  直到 6 年前
        1
  •  25
  •   Alexander Zeitler    6 年前

    这帮我解决了:

    CXXFLAGS="-mmacosx-version-min=10.9" LDFLAGS="-mmacosx-version-min=10.9" yarn
    

    here .

        2
  •  15
  •   Michal    6 年前

    如果您使用的是xcode10,您会注意到如果您导航到 /usr ,您将看不到名为 include 这就是为什么终端抱怨没有包含在include文件夹中的头文件。

    1. 去吧 here 然后下载并安装: Command Line Tools (macOS 10.14) for Xcode 10
    2. ~/../../Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
    3. 运行 CXXFLAGS="-mmacosx-version-min=10.9" LDFLAGS="-mmacosx-version-min=10.9" yarn install

        3
  •  0
  •   Dhirendra    6 年前

    node_modules .node-gyp/ 从主目录修复了错误。