Ruby 1.9.2 ist draußen und bringt ausser den in den News angekündigten Änderungen noch eine größere Überraschung mit.
Aufgrund eines potentiellen Sicherheitsproblems ist das Verzeichnis . nicht mehr standardmässig in $LOAD_PATH. Das bedeutet:
[ skade HIPE-Machine ~/Downloads/ruby-1.9.2-preview1 ] ls test.rb
test.rb
[ skade HIPE-Machine ~/Downloads/ruby-1.9.2-preview1 ] ./ruby --version
ruby 1.9.2dev (2009-07-18 trunk 24186) [i386-darwin9.7.0]
[ skade HIPE-Machine ~/Downloads/ruby-1.9.2-preview1 ] ./ruby -e "require 'test'"
-e:1:in `require': no such file to load -- test (LoadError)
from -e:1:in `'
Der Fix dafür ist einfach und in einer single-user-Umgebung unbedenklich: entweder ihr gebt jedem Aufruf von Ruby -I. mit oder ihr setzt RUBYLIB=".".
Kommentar schreiben
Kommentare
naaajaaa... ob das wirklich ein sicherheits problem ist, liegt zum grossen teil auch am programmierer... aber das kann man besser im forum diskutieren wenn es wieder geht ;) gruss, tom.
> aber das kann man besser im forum diskutieren wenn es > > wieder geht ;) Bovi ist gerade geschockt neben mir zusammen gebrochen. Hier nun der zweite Teil seiner Rubykaigi-Präsentation: "Debuggen vom anderen Ende der Welt".
*vomStuhlWiederAufrichten* so geht wieder.. MySQL hatte ne Macke.. muss mir mal die config naeher anschauen..
dumdidum... naja, wenigstens funktionieren die eskalationsstufen *g* gruss, tom.
Hallo skade, eine Alternative könnte require_relative sein, das vom Ort der Aufrufenden Datei aus funktioniert. Ciao Jan
Jan: das stimmt. Allerdings müsste man dann jedes Plugin etc. dazu bringen require_rel zu verwenden.