FAQ |
Kalender |
|
Ämnesverktyg | Visningsalternativ |
![]() |
#33 | ||
|
|||
Klarade millennium-buggen
|
Nu tror jag att jag hittat en viktig orsak till problemet med require.
Jag misstänkte att det kunde ha med sökvägar till filerna att göra så jag grottade ner mig i filstrukturen. Jag har nu installerat Ruby i katalogen "C:\Projects\Ruby200" Det visar sig att modulerna som följer med Ruby från start ligger i katalogen: Kod:
C:\\Projects\\Ruby200\\lib\\ruby\\2.0.0\\ Kod:
C:\Projects\Ruby200\lib\ruby\gems\2.0.0\gems\csvkit-0.1.3\lib\csvkit.rb" Kod:
require("open3") # funkar för open3 ingår från början i Ruby Kod:
require("C:\\Projects\\Ruby200\\lib\\ruby\\gems\\2.0.0\\gems\\csvkit-0.1.3\\lib\\csvkit") Nu får jag inget körfel när jag specar sökvägen hela vägen ner till csvkit.rb som modulens laddfil heter. Nu har jag i alla fall förstått vad felet beror på i grunden. Nu är nästa steg att ta reda på hur man kan lösa problemet. Jag läste även att Ryby-projektet sedan version 1.9.2 har gjort en break på bakåtkompatibiliteten för sökvägarna. Så exempelvis current directory (".\") inte längre ingår i sökpathen. Det borde finnas en inställning jag kan ändra för att detta ska fungera globalt, för mig, men har inte hittat den ännu. Men om jag förstår det rätt så ligger alla extra installerade gems flera nivåer djupare i filstrukturen och man måste veta exakt version och så för att det ska gå att inkludera i källkoden. Jag har inte hittat någon dokumentation på detta ännu, men det borde rimligen finnas någonstans. |
||
![]() |
![]() |
|
|