错误 Gem::Ext::BuildError: 错误: 无法构建 gem 本机扩展

问题描述 投票:0回答:1

我想用这个命令创建一个新项目。

npx react-native init AwesomeProject 

项目已创建,但捆绑程序存在一些问题。

✖ Installing Bundler

error Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /Users/ismail/Dropbox/My Mac (Muhammad’s MacBook

Pro)/Desktop/AwesomeProject/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c

/Users/ismail/.rvm/rubies/ruby-2.7.5/bin/ruby -I

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0 -r

./siteconf20230524-7627-1owxb3s.rb extconf.rb

checking for ffi_prep_closure_loc() in -lffi... no

checking for ffi_prep_closure_loc() in -llibffi... no

checking for ffi_prep_closure_loc() in -llibffi-8... no

checking for whether -Wl,--exclude-libs,ALL is accepted as LDFLAGS... no

checking for whether -pthread is accepted as LDFLAGS... yes

creating extconf.h

creating Makefile

current directory: /Users/ismail/Dropbox/My Mac (Muhammad’s MacBook

Pro)/Desktop/AwesomeProject/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c

make "DESTDIR=" clean

current directory: /Users/ismail/Dropbox/My Mac (Muhammad’s MacBook

Pro)/Desktop/AwesomeProject/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5/ext/ffi_c

make "DESTDIR="

/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'

/bin/sh: -c: line 1: syntax error: unexpected end of file

make: *** ["/Users/ismail/Dropbox/My] Error 2

make failed, exit code 2

Gem files will remain installed in /Users/ismail/Dropbox/My Mac (Muhammad’s

MacBook Pro)/Desktop/AwesomeProject/vendor/bundle/ruby/2.7.0/gems/ffi-1.15.5 for

inspection.

Results logged to /Users/ismail/Dropbox/My Mac (Muhammad’s MacBook

Pro)/Desktop/AwesomeProject/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-22/2.7.0/ffi-1.15.5/gem_make.out

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:99:in

`run'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:51:in

`block in make'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:43:in

`each'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:43:in

`make'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:63:in

`block in build'

  /Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/tempfile.rb:291:in `open'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:30:in

`build'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:169:in

`block in build_extension'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:165:in

`synchronize'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:165:in

`build_extension'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:210:in

`block in build_extensions'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:207:in

`each'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/ext/builder.rb:207:in

`build_extensions'

/Users/ismail/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems/installer.rb:844:in

`build_extensions'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/rubygems_gem_installer.rb:72:in

`build_extensions'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/rubygems_gem_installer.rb:28:in

`install'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/source/rubygems.rb:198:in

`install'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/installer/gem_installer.rb:54:in

`install'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/installer/gem_installer.rb:16:in

`install_from_spec'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/installer/parallel_installer.rb:156:in

`do_install'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/installer/parallel_installer.rb:147:in

`block in worker_pool'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/worker.rb:62:in

`apply_func'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/worker.rb:57:in

`block in process_queue'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/worker.rb:54:in

`loop'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/worker.rb:54:in

`process_queue'

/Users/ismail/.rvm/gems/ruby-2.7.5/gems/bundler-2.4.13/lib/bundler/worker.rb:90:in

`block (2 levels) in create_threads'

An error occurred while installing ffi (1.15.5), and Bundler cannot continue.

In Gemfile:

  cocoapods was resolved to 1.12.1, which depends on

    cocoapods-core was resolved to 1.12.1, which depends on

      typhoeus was resolved to 1.4.0, which depends on

        ethon was resolved to 0.16.0, which depends on

          ffi

✖ Installing Bundler

error Error: Looks like your iOS environment is not properly set. Please go to https://reactnative.dev/docs/next/environment-setup and follow the React Native CLI QuickStart guide for macOS and iOS.

Error: Error: Looks like your iOS environment is not properly set. Please go to https://reactnative.dev/docs/next/environment-setup and follow the React Native CLI QuickStart guide for macOS and iOS.

    at createFromTemplate (/Users/ismail/.npm/_npx/dea611a43221eddd/node_modules/@react-native-community/cli/build/commands/init/init.js:131:11)

    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

    at async Object.initialize [as func] (/Users/ismail/.npm/_npx/dea611a43221eddd/node_modules/@react-native-community/cli/build/commands/init/init.js:184:3)

    at async Command.handleAction (/Users/ismail/.npm/_npx/dea611a43221eddd/node_modules/@react-native-community/cli/build/index.js:106:9)

info 使用 --verbose 标志运行 CLI 以获取更多详细信息。

我已经尝试安装 cocopods gem nodejs 和更多命令,即使我尝试了文档但仍然错误

javascript ios react-native rubygems cocoapods
1个回答
1
投票

以下命令修复了我的错误

brew install libffi

ln -s $(brew --cellar libffi)/*/include/ffi.h /usr/local/include/ffi.h

ln -s $(brew --cellar libffi)/*/include/ffitarget.h /usr/local/include/ffitarget.h

参考了这个帖子:ffi/ffi#814(评论)

© www.soinside.com 2019 - 2024. All rights reserved.