[英]Ruby Strange Error
每當我需要使用ruby或irb的文件時,都會出現此錯誤:
LoadError: no such file to load -- (insert any filename).rb
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from (irb):1
from /usr/bin/irb1.9.1:12:in `<main>'
即使該文件存在,我正在使用ruby1.9.1,並且據我所知,我還沒有安裝rubygems。 我在Ubuntu 10.10 Maverick Meerkat上運行。 請幫忙,這個問題很煩人! 預先感謝,ell。
編輯:我忘了說,無論文件在哪里,即使它在同一目錄中並確定存在,我也總是收到此錯誤。
在Ruby 1.9.2(我猜是您正在使用的版本)中,當前目錄不再位於$LOAD_PATH
。 如果要相對於require
調用所在文件的路徑來require
文件,則應改用require_relative
。
如果您確實 require
相對於當前目錄的文件,則可以將當前目錄添加到$LOAD_PATH
如下所示:
$LOAD_PATH << '.'
但是,進行此更改是有原因的,因此您不應輕易做到這一點。 畢竟,這將使您的應用程序或多或少隨機地運行,這取決於啟動應用程序時恰好位於的目錄。 更糟糕的是,如果攻擊者可以使您從自己控制的目錄中運行應用程序,則可以使您代表他執行任意代碼。
Rubygems默認與ruby 1.9一起安裝。
檢查您要加載的文件是否位於變量$:中列出的目錄中,或者在require中指定文件的完整路徑。 或者,將目錄添加到$:中:
$: << '/my/lib/path'
require 'mylib'
您正在使用p0嗎? 我在ruby-1.9.2-p0
上得到了很多 。 嘗試執行未鏈接的(例如,不使用--with-baseruby
) --with-baseruby
./configure
集,換句話說
curl ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p136.tar.gz | tar xz
cd ruby-1.9.2-p136
./configure
make -j2
sudo make install
從一開始就。 對我來說,那個固定的syck
不存在(盡管一個不同的問題使:/
), yaml
,甚至是stringio
和zlib
!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.