Nokogiri's gem
を使用してスタックメモリがなくなり、複雑なページ(SystemStackError: stack level too deep
)を解析する問題が発生しました。Windows上でRuby-on-Rails仮想マシン 'スタックサイズ'を変更するには?
Ruby VMのスタックサイズを変更する必要があると言われているスレッドがいくつか見つかりましたが、Windows 10のラップトップを使用しているため、動作させることができないようです。私はルビーのコンソールを開き、変数の値を要求すると
私が取得:これを入力するとき
irb> ENV['RUBY_THREAD_VM_STACK_SIZE']
=> nil
が、私は、スタックサイズの値(名前は多少異なります)
irb> RubyVM::DEFAULT_PARAMS
=> {:thread_vm_stack_size=>1048576, :thread_machine_stack_size=>1048576, :fiber_vm_stack_size=>131072, :fiber_machine_stack_size=>524288}
を得ますか
RUBY_THREAD_VM_STACK_SIZE = 50000000
THREAD_VM_STACK_SIZE = 50000000
:
私は.env
ファイルにdotenv gem
をインストールし、設定した変数にアウトしようと試み
ENV変数として私のirb>
に表示されるようになりましたが、RubyVM::DEFAULT_PARAMS
は変更されていません。
私のアプリケーションのVMスタックサイズをどのように変更できますか?どうもありがとう!!
ありがとうキャスパー、それは働いた!何らかの理由で、私はまだ同じエラーメッセージを受け取ります。私は50 MBのスタックメモリに同じ問題をプッシュしました..マシンスタックサイズがVMスタックサイズを制限している可能性がありますので、変更する必要がありますか?私はしようとしましたが、 'set'コマンドでは動作しないようです。 – Felix
はい、システムのスタックサイズが制限要因である可能性があります。私はNokogiriに問題を提出し、あなたがそこで助けを得ることができるかどうかを見ます。あまりにもバグかもしれません。 – Casper