2015-07-31 17 views
11

Ultime Capybara-webkit getta un avvertimento deprecazione:Capybara-webkit e QT5 su Yosemite

WARNING: The next major version of capybara-webkit will require at least version 5.0 of Qt. You're using version 4.8.7. 

Così ho:

gem uninstall capybara-webkit 
brew uninstall qt 
brew install qt5 
gem install capybara-webkit 

Che deprecazione è ormai andato, ma si scatenò l'inferno:

$ rspec -p -- spec/features 

Randomized with seed 52457 
...2015-07-30 16:56:21.731 webkit_server[8416:6381638] Error loading /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin: dlopen(/Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin, 265): no suitable image found. Did find: 
    /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin: mach-o, but wrong architecture 
plugin,NP_Initialize start 
plugin,NP_Initialize end 
plugin,NP_GetEntryPoints start 
Private_Initialize 
plugin,NP_GetEntryPoints end 
2015-07-30 16:56:21.768 webkit_server[8416:6381638] Error loading /Users/meltemi/Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin/Contents/MacOS/libnpgeplugin.dylib: dlopen(/Users/meltemi/Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin/Contents/MacOS/libnpgeplugin.dylib, 265): no suitable image found. Did find: 
    /Users/meltemi/Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin/Contents/MacOS/libnpgeplugin.dylib: mach-o, but wrong architecture 
[16:56:22.960] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037 
[16:56:22.960] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3 
[16:56:22.960] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3 
[16:56:23.061] FigDCP_GetCacheFileVersion signalled err=-12540 (kFigDiskCacheProviderError_InvalidCacheFile) (unsupported file version) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigByteStreamPrototypes/FigLimitedDiskCacheProvider.c line 366 
[16:56:23.218] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037 
[16:56:23.218] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3 
[16:56:23.218] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3 
F[16:56:27.056] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037 
[16:56:27.056] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp4 
[16:56:27.056] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp4 
[16:56:27.209] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037 
[16:56:27.209] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.webm 
[16:56:27.209] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.webm 
F.............[DEPRECATION] Capybara::Webkit::Driver#browser is deprecated. 
.[DEPRECATION] Capybara::Webkit::Driver#browser is deprecated. 

provato a reinstallare qt ma c'erano conflitti di collegamento con Qt5 qmake così l'ho rimosso.

Qualcuno ha qualche idea?!? O dovrei semplicemente tornare al vecchio Qt4 e gestire gli avvisi di deprecazione?

+0

Stai utilizzando 'capybara-webkit' per qualche motivo specifico? Altrimenti ti direi di usare https://github.com/teampoltergeist/poltergeist, è più veloce di webkit e funziona come un fascino con JS. – dpedoneze

+0

'capybara-webkit' ha funzionato bene per noi ... fino a questo problema Qt5 ... – Meltemi

risposta

17

@pthamm praticamente inchiodato. Ecco la stessa cosa, ma con un paio di passaggi circostanti.

brew uninstall qt 
brew install qt5 
brew link --force qt5 

Ora esecuzione

which qmake 

Dovrebbe restituire /usr/local/bin/qmake

A questo punto posso ricostruire la gemma contro il nuovo QT5.

gem pristine capybara-webkit 

E poi sono stato bello andare di nuovo, i test sono verdi. Sìì!

+1

Si prega di notare che (come indicato nelle istruzioni di installazione ufficiali di capybara-webkit qui: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit) ** qt5 non lo farà includi QtWebKit a partire dalla versione 5.6 ** e quindi ** qt 5.5 è l'ultima versione supportata ** dalla gemma. Ciò significa che devi sostituire 'qt5' con' qt55' per ciascuno dei comandi di installazione/collegamento sopra indicati. – Dschee

+0

Per quanto mi riguarda, il seguente ha funzionato su un sistema Ubuntu senza brew installato: 'sudo apt-get install qt5-predefinito libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x' (come da istruzioni su [thoughtbot/capybara-webkit] (https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#debian--ubuntu)) seguito da 'gem pristine capybara- webkit' (come da risposta [counterbeing] (https://stackoverflow.com/users/250934/counterbeing) sopra). – Franco

5

Ti è eseguire questi comandi:

brew linkapps qt5 
brew link --force qt5 

QT5 di Homebrew è barile solo quindi è necessario creare i link simbolici manualmente.

check out le istruzioni di installazione per Yosemite qui: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

e la risposta in alto qui: Can I use homebrew's qt5 with capybara-webkit?

+0

Sono riuscito a rimuovere WARNINGS con' brew unlink qt' prima di collegare qt5 e reinstallare 'capybara-webkit'. – kyamaguchi