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

yarn install fails, due to node_libcurl & node >= 20 combination #6793

Open
4 tasks
gilgardosh opened this issue Apr 3, 2024 · 0 comments
Open
4 tasks

yarn install fails, due to node_libcurl & node >= 20 combination #6793

gilgardosh opened this issue Apr 3, 2024 · 0 comments

Comments

@gilgardosh
Copy link
Collaborator

gilgardosh commented Apr 3, 2024

Issue workflow progress

Progress of the issue based on the
Contributor Workflow

Make sure to fork this template and run yarn generate in the terminal.

Please make sure Mesh package versions under package.json matches yours.

  • 2. A failing test has been provided
  • 3. A local solution has been provided
  • 4. A pull request is pending review

Describe the bug

On projects running node >= 20, with @graphql-mesh/cli: 0.89.8 added, dependency installation fails with this error prompt:

warning Error running install script for optional dependency: "/project/node_modules/node-libcurl: Command failed.
Exit code: 1
Command: node-pre-gyp install --fallback-to-build
Arguments: 
Directory: /project/node_modules/node-libcurl
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using node-pre-gyp@1.0.11
node-pre-gyp info using node@21.7.1 | darwin | arm64
(node:71676) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
node-pre-gyp info check checked for \"/project/node_modules/node-libcurl/lib/binding/node_libcurl.node\" (not found)
node-pre-gyp http GET https://github.com/JCMais/node-libcurl/releases/download/v4.0.0/node_libcurl-v4.0.0-node-v120-darwin-arm64-unknown.tar.gz
node-pre-gyp ERR! install response status 404 Not Found on https://github.com/JCMais/node-libcurl/releases/download/v4.0.0/node_libcurl-v4.0.0-node-v120-darwin-arm64-unknown.tar.gz 
node-pre-gyp WARN Pre-built binaries not installable for node-libcurl@4.0.0 and node@21.7.1 (node-v120 ABI, unknown) (falling back to source compile with node-gyp) 
node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/JCMais/node-libcurl/releases/download/v4.0.0/node_libcurl-v4.0.0-node-v120-darwin-arm64-unknown.tar.gz 
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@21.7.1 | darwin | arm64
gyp info ok 
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@21.7.1 | darwin | arm64
gyp info find Python using Python version 3.9.6 found at \"/Library/Developer/CommandLineTools/usr/bin/python3\"

gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3
gyp info spawn args [
gyp info spawn args '/project/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 '/project/node_modules/node-libcurl/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/project/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/user/Library/Caches/node-gyp/21.7.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/user/Library/Caches/node-gyp/21.7.1',
gyp info spawn args '-Dnode_gyp_dir=/project/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/user/Library/Caches/node-gyp/21.7.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/project/node_modules/node-libcurl',
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 ok 
gyp info it worked if it ends with ok
gyp info using node-gyp@10.0.1
gyp info using node@21.7.1 | darwin | arm64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/node_libcurl/src/node_libcurl.o
clang: error: no such file or directory: '/usr/include'
make: *** [Release/obj.target/node_libcurl/src/node_libcurl.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/project/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Darwin 23.2.0
gyp ERR! command \"/Users/user/Library/Application Support/fnm/node-versions/v21.7.1/installation/bin/node\" \"/project/node_modules/node-gyp/bin/node-gyp.js\" \"build\" \"--fallback-to-build\" \"--module=/project/node_modules/node-libcurl/lib/binding/node_libcurl.node\" \"--module_name=node_libcurl\" \"--module_path=/project/node_modules/node-libcurl/lib/binding\" \"--napi_version=9\" \"--node_abi_napi=napi\" \"--napi_build_version=0\" \"--node_napi_label=node-v120\"
gyp ERR! cwd /project/node_modules/node-libcurl
gyp ERR! node -v v21.7.1
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute '/Users/user/Library/Application Support/fnm/node-versions/v21.7.1/installation/bin/node /project/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/project/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/project/node_modules/node-libcurl/lib/binding --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v120' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/project/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:519:28)
node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1105:16)
node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:305:5)
node-pre-gyp ERR! System Darwin 23.2.0
node-pre-gyp ERR! command \"/Users/user/Library/Application Support/fnm/node-versions/v21.7.1/installation/bin/node\" \"/project/node_modules/node-libcurl/node_modules/.bin/node-pre-gyp\" \"install\" \"--fallback-to-build\"
node-pre-gyp ERR! cwd /project/node_modules/node-libcurl
node-pre-gyp ERR! node -v v21.7.1
node-pre-gyp ERR! node-pre-gyp -v v1.0.11
node-pre-gyp ERR! not ok 
Failed to execute '/Users/user/Library/Application Support/fnm/node-versions/v21.7.1/installation/bin/node /project/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/project/node_modules/node-libcurl/lib/binding/node_libcurl.node --module_name=node_libcurl --module_path=/project/node_modules/node-libcurl/lib/binding --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v120' (1)"

To Reproduce Steps to reproduce the behavior:

Setup node v.21.7.1 env, with package.json such as this:

{
  "name": "mesh-bug-manifestation",
  "engines": {
    "node": "21.7.1"
  },
  "dependencies": {
    "@graphql-mesh/cli": "0.89.8"
  }
}

run yarn install

Expected behavior

Installation be successful

Environment:

  • "@graphql-mesh/cli": "0.89.8"
  • NodeJS: 21.7.1

additional context

can be solved locally, using npm_config_curl_include_dirs="$(xcrun --show-sdk-path)/usr/include" yarn install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant