問題タブ [load-path]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache2 - RVM - Ruby 統合は別の gem に抽出されました (`remove $LOAD_PATH.unshift`)
Rails 3.2.6 (ruby 1.9.3-p194) にアップグレードし、Debian に RVM をインストールし、Apache2 サーバー (2.2.19) を使用していました。
私はこれらの非常に素晴らしい指示を使用しました: http://dalibornasevic.com/posts/21-rvm-and-passenger-setup-for-rails-2-and-rails-3-apps/
Apache サーバー構成/etc/apache2/apache2.confには以下が含まれます。
すべての設定が完了すると (そして大量のエラー メッセージが削除されます :)、乗客から次のエラー メッセージが表示されます。
RVM - Ruby 統合は別の gem に抽出されました。これはデフォルトで RVM とともにインストールされ、$LOAD_PATH.unshift
行を削除すると、すべて正常に戻ります。
$LOAD_PATH.unshift
MyApp/config/setup_load_paths.rb でコメントアウトすると、このエラーはなくなり、代わりに 500 エラー、Internal Server Error が表示されます。
/etc/log/apache2/error.log:
誰かが私にこの問題の手がかりを与えることができれば、私は非常に嬉しく思います.
どうもありがとうございました。
虹彩
ruby - Rubygems gemspec で実行可能としてマークされた Ocra とスクリプト
Linux で動作する実行可能ファイルを公開する gem を作成しました。Windows では、gem がインストールされているディレクトリに移動すると、コマンド ラインから実行できますが-Ilib
、呼び出すときに自分自身を指定する必要がありますruby
。
Ocra を使用して、実行可能ファイル + 依存関係 (gem の残りの部分) + Ruby を他のユーザー向けの exe ファイルに変換したいのですが、ドキュメントには、ロード パスを手動でいじるのは Ocra では良くないと書かれているようです。
Ruby のロード パスをいじることなく、gem の実行可能スクリプトを操作するように Ocra に指示するにはどうすればよいですか? これは、実行可能スクリプトがインストールされた gem の一部であるという事実を利用して、依存関係を把握する実行可能スクリプトを実行できる何らかの方法があるかどうかにかかっていると思います。
ruby - ジェムラック/テストをロードできません
アプリケーションに`rack/ test`をロードしようとしていますが、何らかの理由で機能しません。私がする時:
gem list rack-test
私は得る
rack-test (0.6.2)
だからそれはインストールされています。
次の方法でパスを取得することもできます。
gem which rack/test
これは
/home/jacky/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/test.rb
しかしその後
ruby -e 'puts $LOAD_PATH.inspect; $LOAD_PATH << "/home/jacky/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/gems/1.9.1/gems/"; require "rack/test"'
収量
私は何が間違っているのですか?
ruby - Vimの「埋め込まれた」RubyでGemsを使用する方法はありますか?
tinder
Vimの中から宝石を使おうとしています。Vimバッファーに書き込めるようにしたいので、:ruby
外部からを呼び出すのではなく、を使用してVimの組み込みRubyを使用する必要があります!ruby
。
コマンドラインで問題なく実行gem install tinder
しましたが、埋め込まれたrubyのロードパスに、それを要求できる関連ディレクトリがないようです。
次のようなことを試して、ロードパスを操作してみました。
...しかしほとんど成功していません。
私も同様のことを試しました:
...しかし、繰り返しになりますが、ほとんど成功していません。
Tinderを解凍して絶対パスを要求しようとしましたが、これは機能しているようですが、unpackはgemの依存関係を解凍しないため、たとえば「faraday」が見つかりません。おそらく私は再帰的に開梱することができますか?
誰かがこの問題について何か考えを持っていますか?
私はたくさんグーグルで調べて、Vmailのようなプロジェクトのソースを調べましたが、私が知る限り、VimのRuby内でGemsを使用している人は誰もいません。これはひどい恥のようです。
どんな試みをしても、gemネイティブ拡張機能が機能しないことは間違いありませんが、純粋なRubygemを要求できることは非常に嬉しいことです。
どうもありがとう。
ruby - ruby の LOAD_PATH がめちゃくちゃにならないようにするためのより良い方法はありますか?
ruby の に冗長なパスを追加しないようにしていますLOAD_PATH
。それは非常に複雑な作業ではありません。私が思いついた方法よりもクリーンな方法があるかどうか疑問に思っています。
これが現在の私の現在の解決策です:
次に、通常の$LOAD_PATH.unshift SOME_PATH
呼び出しを行う代わりに
add_loadpath SOME_PATH
これは、同じフォルダーを指しているが同じ文字列ではない 2 つのパスがロード パスに含まれている場合の問題を回避するためです。たとえばfoo/../bar
、bar
emacs - emacs: load-path と require (ロードファイルを開けません)
load-path 変数は問題ないようですが"Cannot open load file"
、エラーが発生しました:(require 'org-mime)
興味深いことに、救済策は次のようになります (.emacs):
バージョン管理されたパスが変更される可能性があるため、機能不全です。しかし、なぜエラーですか?
ruby - 既存のプロジェクトで Ruby ソースコードを直接実行すると LoadError が発生する
私はRuby/JRubyを初めて使用し、特定のプロジェクトのRubyソースコードを直接実行しようとすると、「LoadError: no such file to load」というエラーに何週間も悩まされてきました。
多くの Ruby プロジェクトのソース コードを GitHub からダウンロードしました。はい、ソースコードのみです。私のタスクはコード自体の分析に重点が置かれているため、インストールしませんでした。
プロジェクト「rqrcode」が次の(簡略化された)構造を持っているとします。
- rqrコード
- lib(フォルダ)
- rqrcode (フォルダー)
- core_ext (フォルダー、内部にいくつかのファイル)
- core_ext.rb
- qrcode (フォルダ、内部にいくつかのファイル)
- qrcode.rb
- rqrcode.rb
- rqrcode (フォルダー)
- テスト (フォルダー)
- data.rb
- test_rqrcode.rb
- lib(フォルダ)
したがって、テスト フォルダー内で「jruby test_rqrcode.rb」を実行すると、ファイル内の次の行で LoadError がスローされます。
また、lib フォルダー内の rqrcode.rb ファイルで LoadError がスローされます。
エラーメッセージは
「rqrcode/core_ext」が見つからないと言われる理由が本当にわかりません。なぜなら、そのフォルダーはそこに存在するからです!
このようなエラーは常に発生するとは限りません。上記と同様の構造を持つ他の Ruby プロジェクトのソース コードをダウンロードすると、すべての「require」、「require_relative」ステートメントで正常に実行されることがあります。
私の友人は、Ruby のデフォルトのロード パスの問題だと言っています。そのため、Ruby ロード パスの内部を調べてみました。多くのRubyファイルでいっぱいです。ただし、正常に実行される Ruby プロジェクトでは、これらのロード パスに Ruby ファイルもありません (また、コード内のロード パスを変更するために「.unshift」を使用しません)。ですから、これがプロジェクトの失敗の原因だとは思いません。
私の疑問を明確にしてくれる人がいることを願っています。私のJRuby設定が原因でしょうか?私はMacを使用しています。私のJRubyのバージョンは1.7.4です。
ruby - "." にもかかわらず "file.rb" のロードが機能する理由 ロードパスにありませんか?
次のファイルを持つ /Projects/test にプロジェクトを作成しました。
ではfirst.rb
、次のことを行います。
そして、正しくロードされます。ただし、コンソールを開いて と入力すると、ロード パスに$:
現在のディレクトリが表示されません。"."
Ruby はそれをどこからロードするかをどうやって知る'second.rb'
のでしょうか?