web-dev-qa-db-fra.com

Mac OS 10.14 Mojave + qt5.5 + gem capybara-webkit

Ma configuration est MAC Mojave v10.14.

J'essaie d'installer gem Capybara-webkit -v '1.15.0' qui nécessite qt5.5, mais qt5.5 a été supprimé de l'homebrew et il n'est pas compatible avec Xcode v10.

J'essaye ceci:

  • Désinstaller Xcode v10
  • Installez Xcode 9.4.1, trouvé dans developer.Apple.com/
  • Installez qt5.5, je l'ai trouvé dans les archives sur qt.io/
  • Lancer le bundle

Mais il échoue, mon erreur est avec le gem capybara-webkit -v '1.15.0':

Fetching capybara-webkit 1.15.0
Installing capybara-webkit 1.15.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: 
/Users/thomas/.rbenv/versions/2.4.4/lib/Ruby/gems/2.4.0/gems/capybara- 
webkit-1.15.0
/Users/thomas/.rbenv/versions/2.4.4/bin/Ruby -r ./siteconf20181005-763-1bppnfh.rb extconf.rb
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--Ruby=/Users/thomas/.rbenv/versions/2.4.4/bin/$(Ruby_BASE_NAME)
--with-gl-dir
--without-gl-dir
--with-gl-include
--without-gl-include=${gl-dir}/include
--with-gl-lib
--without-gl-lib=${gl-dir}/lib
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
Command 'qmake ' failed

extconf failed, exit code 1

 Gem files will remain installed in 
/Users/thomas/.rbenv/versions/2.4.4/lib/Ruby/gems/2.4.0/gems/capybara-webkit-1.15.0 for inspection.
Results logged to /Users/thomas/.rbenv/versions/2.4.4/lib/Ruby/gems/2.4.0/extensions/x86_64- darwin-18/2.4.0-static/capybara-webkit-1.15.0/gem_make.out

An error occurred while installing capybara-webkit (1.15.0), and Bundler 
cannot continue.
Make sure that `gem install capybara-webkit -v '1.15.0' --source 
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
capybara-webkit

Ensuite, j'ai fait:

Sudo xcodebuild -license agree

Mais l'erreur persiste ...

Merci de votre aide !

6
t.0hm

Voici ce qui a fonctionné pour moi, trouvé ici :

  • Gardez votre xcode v10 installé
  • Téléchargez et installez manuellement Qt 5.5 à partir de leur site Web
  • Ajoutez le chemin bin de Qt à votre variable d'environnement PATH en l'ajoutant à votre .bashrc, .zshrc ou toute autre configuration Shell que vous avez: (assurez-vous de remplacer /Applications/Qt/5.5/clang_64/bin avec votre chemin bin Qt)
export PATH="/Applications/Qt/5.5/clang_64/bin:$PATH" # Add Qt bin to path for capybara webkit to work
  • Courir gem install capybara-webkit
4
Francois

Comme décrit sur le wiki capybara-webkit , capybara-webkit dépend de Qt 5.5. "Qt 5.5 est la dernière version de Qt que capybara-webkit prendra en charge. Le projet Qt a supprimé les liaisons WebKit des versions binaires en 5.6."

Pour installer Qt 5.5, suivez les instructions du wiki. Pour Mojave, les instructions sont les suivantes.

brew update
cd $( brew --prefix )/Homebrew/Library/Taps/homebrew/homebrew-core
git checkout 9ba3d6ef8891e5c15dbdc9333f857b13711d4e97 Formula/[email protected]
brew install [email protected]
echo 'export PATH="$(brew --prefix [email protected])/bin:$PATH"' >> ~/.bashrc

Vous pouvez confirmer que cette étape a fonctionné en exécutant:

$ which qmake
/usr/local/opt/[email protected]/bin/qmake

Ensuite, vous devez installer Xcode 9.4. Xcode 10 n'est pas compatible avec Qt 5.5. Xcode 9.4 peut être téléchargé à partir du portail des développeurs Apple . Il s'agit d'un téléchargement de 4 Go et prend environ 30 minutes pour télécharger et installer. Vous pouvez vérifier qu'il est correctement installé en exécutant ce qui suit:

$ /usr/bin/xcodebuild -version
Xcode 9.4.1
Build version 9F2000

Si cela ne fonctionne pas, c'est peut-être parce que vous n'avez installé que les outils de ligne de commande au lieu de Xcode, auquel cas vous devez vous assurer que vous avez téléchargé la bonne version de Xcode. Ou le dossier Xcode peut ne pas être réglé correctement. Si c'est le cas, vous pouvez résoudre ce problème en utilisant xcode-select, qui spécifie le dossier dans lequel xcodebuild s'exécute:

Sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Une fois Xcode installé, localisez-le dans votre dossier Applications, ouvrez-le et acceptez la licence. Essayez ensuite de réinstaller capybara-webkit.


Avertissement: J'ai trouvé la réponse ci-dessus en compilant plusieurs questions et réponses et en essayant de me rappeler l'ordre dans lequel j'ai exécuté les commandes sur ma machine locale. J'ai peut-être accidentellement omis certaines étapes.

8
Ceasar Bautista

Je pense que mon problème était avec xcrun. Pour corriger j'ai fait:

  • Sudo chown root:wheel /Applications/Xcode.app
  • Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
  • cd /Applications/Xcode.app/Contents/Developer/usr/bin/
  • Sudo ln -s xcodebuild xcrun

Et ça marche (y)!

2
t.0hm

Je pourrais installer [email protected] sur Mojave avec ceci:

brew install [email protected] --force-bottle

Avec capybara-webkit, j'utilise temporairement ceci:

gem "capybara-webkit", git: "https://github.com/emilyst/capybara-webkit.git", ref: "9c9af833656f095667e8522004dae017d423d37d"

0
Tam Pham

Vous avez besoin Xcode 9.4.1 à installer [email protected] car il n'est pas compatible avec Xcode 10. Homebrew a supprimé le [email protected] à partir de leur robinet principal afin de l'installer, vous devez exécuter ce qui suit avant:

brew update
cd $( brew --prefix )/Homebrew/Library/Taps/homebrew/homebrew-core
git checkout 9ba3d6ef8891e5c15dbdc9333f857b13711d4e97 Formula/[email protected]
brew install [email protected]

9ba3d6ef8891e5c15dbdc9333f857b13711d4e97 est le commit parent de 360923286c0f1a6a1325ada578df030bf579009f où ils ont supprimé [email protected], cette commande revient donc au commit parent et extrait le fichier de formule nécessaire.

0
Tarek N. Elsamni