2011-03-21 13 views
4

をロードし、thin startをしようとするそのようなファイルは、このエラーシンとLoadError:私は薄いインストールされているthin_parser

C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/1.9/thin_parser (LoadError) 
    from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/thin.rb:48:in `rescue in <top (required)>' 
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/thin.rb:43:in `<top (required)>' 
    from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/bin/thin:5:in `<top (required)>' 
    from C:/Ruby192/bin/thin:19:in `load' 
    from C:/Ruby192/bin/thin:19:in `<main>' 

で終わる誰かが私を助けることができるしてください、事前に感謝

+0

システムにインストールされ、アプリケーションで使用されている宝石は何ですか? –

+0

@Nazar申し訳ありませんが、私は十分に素早く返信していませんが、バンターがすでに私を助けてくれているので、まだ宝石リストが欲しいですか? – Souloikj

答えて

5

出力は<ruby_install_dir>/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/1.9/

1.9すなわち

というディレクトリを表し:私の薄いバージョンがあります1.2.10。以下では、私のシステム上に現れるパスを使用します。

何らかの理由で、薄い宝石にはこのディレクトリがありません。しかし、thin_parser.soというファイルが親ディレクトリにあります。<ruby_install_dir>/lib/ruby/gems/1.9.1/gems/thin-1.2.10/lib/

私の最初の解決策は、ディレクトリ1.9を作成し、それにファイルthin_parser.soをコピーすることでした。 今、thin startが私に役立ちます。

また、ファイル<ruby_install_dir>/lib/ruby/gems/1.9.1/gems/thin-1.2.10/lib/thin.rbを編集して

if Thin.win? 
    # Select proper binary under Windows 
    major_ruby_version = RUBY_VERSION[/^(\d+\.\d+)/] 
    require "#{Thin::ROOT}/thin_parser" 
else 
    require "#{Thin::ROOT}/thin_parser" 
end 

またはさらに簡単

require "#{Thin::ROOT}/thin_parser" 

if Thin.win? 
    # Select proper binary under Windows 
    major_ruby_version = RUBY_VERSION[/^(\d+\.\d+)/] 
    require "#{Thin::ROOT}/#{major_ruby_version}/thin_parser" 
else 
    require "#{Thin::ROOT}/thin_parser" 
end 

を変更することができます私はより良い1何であるかの回避策わからないんだけど、なぜなら、既存のディレクトリではないthinファイルがどれだけ必要なのか分からないからです。私はThin.winのどこにいらっしゃいますか?フォークが重要になります。

私は最初の解決策を支持した。しかし両方の方法で問題が解決されました。

rake db:migrate(私は細い開始は私に同じエラーを与えているだろうと思う。)

を実行しているとき、私はAmazonでLinux上で実行しているよ。この同じエラーに遭遇した敬具、
ティム

+0

助けてくれてありがとう – Souloikj

0

(RPM CentOSとRedhatに似ています)。私は以前は薄いルートとしてインストールしていました(gem install thin)。それはあなたの状況とは無関係であるかもしれないが、単に完全を期すため、私も使ってeventmachineをインストールしていた。ここで

gem install eventmachine --platform=ruby 

は、私が得たエラーです:

% rake db:migrate 
rake aborted! 
LoadError: cannot load such file -- thin_parser 
/home/rails/.gem/ruby/1.9.1/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require' 
etc. etc. 

上記の情報に基づいて、私は熊手を走りましたstraceの下で、それが間違った場所でthin_parser.soを探していることを発見しました。私はこのシンボリックリンクをインストールすることで問題を解決することができました(私はrootとしてシンインストールしたので、これをrootとして行っていました)。

cd /usr/local/share/gems1.9/gems/thin-1.6.3/lib 
ln -s ../ext/thin_parser/thin_parser.so . 

パッと消える:明らかに、薄いのバージョンがインストールされている場所へのパスを調整!それは私のためにそれを修正した。

関連する問題