2013-04-21 2 views
8

save_and_open_pageがすべてで動作するように取得しようが、私に次のエラーを与える:Launchyの:: ApplicationNotFoundError:

1) index page my first test 
Failure/Error: save_and_open_page 
Launchy::ApplicationNotFoundError: 
    No application found to handle 'C:/Sites/Sublist_v2/tmp/capybara/capybara-201304211638563116158687.html' 
# ./spec/features/comics_page_spec.rb:6:in `block (2 levels) in <top (required)>' 

仕様:

require 'spec_helper' 

feature 'index page' do 
    scenario "my first test" do 
    visit root_path 
    save_and_open_page 
    # Launchy.open('http://stackoverflow.com') 
    end 
end 

私はLaunchyのの行のコメントを解除した場合、それは正常に動作しますので、私問題が何であるかわからない...おそらく経路の問題c:/

Gemfile

group :development, :test do 
    gem 'spork-rails' 
    gem 'rspec-rails' 
    gem 'factory_girl_rails' 
end 

group :test do 
    gem 'faker' 
    gem 'capybara' 
    gem 'launchy' 
    gem 'database_cleaner' 
    gem 'shoulda-matchers' 
end 
+0

興味深いことに、エラーメッセージのパスをコピーしてブラウザに貼り付けてページを表示することはできます。 – tehfailsafe

+0

私は同じ問題があります。私が気づいたのは、URLをコピーして 'launchy C:/ Sites/... 'というコマンドラインで実行すると、同じエラーが出ますが、' file:/// 'を' C: 'の前に置くと、 、 できます。 – Matt

+0

同じ問題があります。それは前に働いていた。エラーがバンドル更新の実行に関連しているかどうかは不明です。 – user938363

答えて

7

をファイルパスにドライブ文字が誤ってURIスキームの一部であることが決定されているためです。

あなたは一時的に/launchy/lib/launchy/applications/browser.rbにライン12を変更することにより、それを修正することができます:私はちょうど持っていた

return true if File.exist?(uri.path) && !schemes.include?(uri.scheme)

+1

解決策が確認され、動作します。ブラッドが賞金を得ることができるように、それを回答としてマークしてください。ありがとう。 – user938363

+0

あなたは大歓迎です! –

+0

素晴らしい感謝! – tehfailsafe

5

私はLaunchyのの著者です、そしてちょうどこの問題を知らされました。私は一般的にGitHub経由でバグ修正を行い、この問題をここに入れました。 Issue #65

あなたはLaunchyのに問題が発生したときはいつでも、Launchyのデバッグをオンにしてくださいとfile an issue with the project on github

あなたは、環境変数LAUNCHY_DEBUG=trueを設定することでLaunchyのデバッグをオンにすることができますすることができます。あなたは、アプリケーションからlaunchyを埋め込んでいる場合は、シェルから、またはRubyコード経由でこれを行うことができます。

% export LAUNCHY_DEBUG=true 
% launchy http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror 
AUNCHY_DEBUG: URI parsing pass 1 : http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror -> {:scheme=>"http", :user=>nil, :password=>nil, :host=>"stackoverflow.com", :port=>nil, :path=>"https://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror", :query=>nil, :fragment=>nil} 
LAUNCHY_DEBUG: Checking if class Launchy::Application::Browser is the one for handles?(http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Windows is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Darwin is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::RubyEngine::Mri is the one for is_current_engine?(ruby)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Windows is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Darwin is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::RubyEngine::Mri is the one for is_current_engine?(ruby)} 
LAUNCHY_DEBUG: Launchy::Application : found executable /usr/bin/open 
LAUNCHY_DEBUG: Launchy::Application::Browser : possibility : /usr/bin/open 
LAUNCHY_DEBUG: Launchy::Application::Browser : Using browser value '/usr/bin/open' 
LAUNCHY_DEBUG: wet_run: before exec in child process 
LAUNCHY_DEBUG: commandline_normalized => /usr/bin/open http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror 

それとも、Launchyの埋め込まれている場合:

% irb 
>> require 'launchy' 
>> ENV['LAUNCHY_DEBUG']="true" 
>> Launchy.open("http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror") 
LAUNCHY_DEBUG: URI parsing pass 1 : http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror -> {:scheme=>"http", :user=>nil, :password=>nil, :host=>"stackoverflow.com", :port=>nil, :path=>"https://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror", :query=>nil, :fragment=>nil} 
LAUNCHY_DEBUG: Checking if class Launchy::Application::Browser is the one for handles?(http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Windows is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Darwin is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::RubyEngine::Mri is the one for is_current_engine?(ruby)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Windows is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::HostOsFamily::Darwin is the one for matches?(darwin12.2.0)} 
LAUNCHY_DEBUG: Checking if class Launchy::Detect::RubyEngine::Mri is the one for is_current_engine?(ruby)} 
LAUNCHY_DEBUG: Launchy::Application : found executable /usr/bin/open 
LAUNCHY_DEBUG: Launchy::Application::Browser : possibility : /usr/bin/open 
LAUNCHY_DEBUG: Launchy::Application::Browser : Using browser value '/usr/bin/open' 
LAUNCHY_DEBUG: wet_run: before exec in child process 
>> LAUNCHY_DEBUG: commandline_normalized => /usr/bin/open http://stackoverflow.com/questions/16137410/launchyapplicationnotfounderror 
+0

返事をありがとう。以下はデバッグ出力です。 – user938363

+0

save_and_open_pageはエラーを生成していません。しかし、rspecと同様にページが表示されませんでした。 – user938363

+0

@copiousfreetimeあなたはこの問題について私を案内してもいいですか?もし打ち上げがリンクを見つけることができないならば、打ち間違いがあるとしましょう。打ち上げで利用可能な方法がありますか? "与えられた単語またはリンク"を検索できます – Abhinay

1

return true if File.exist?(uri.path) and uri.scheme.nil?

目的:

fileUri = 'file:///' + outputFile.path 

Launchy.open(fileUri) 

"file:"の後に3つのスラッシュがあることに注意してください。これは、Windows 8でgithub-markdown-0.5.5を使用した場合です。

関連する問題