2015-08-30 32 views
1

編輯安裝CSV庫:離開這個,因爲其他人都必然會有同樣的問題,但根本原因是,Ubuntu的軟件包是一個很老的版本haXe的的。我卸載了這一點,從源代碼安裝代替,一切都只是工作haXe的不能找到haxelib


我已經安裝haXe的全局我的Ubuntu系統上,並設置haxelib爲用戶與安裝路徑爲/ home/mdemello的/ opt /股/ haXe的/ lib目錄

haxelib似乎工作,除安裝後的錯誤:

$ haxelib install csv 
Downloading csv-0,4,0.zip... 
Download complete : 10518 bytes in 4.3s (2.3KB/s) 
    Install CHANGES.txt 
    Install haxelib.json 
    Created lib/ 
    Install LICENSE.txt 
    Install README.md 
    Created test/ 
    Install test.hxml 
    Created lib/format/ 
    Created lib/format/csv/ 
    Install lib/format/csv/Reader.hx 
    Install lib/format/csv/Utf8Reader.hx 
    Install lib/format/csv/Data.hx 
    Install test/Test.hx 
    Current version is now 0.4.0 
Done 
Invalid field access : index 

,但使用已安裝的庫通過-lib失敗;我一直在使用-cp指定的完整路徑:

$ head CSV.hx 
import format.csv.Reader; 

$ haxe -lib csv -x CSV.hx 
./CSV.hx:1: characters 7-24 : Class not found : format.csv.Reader 

$ haxelib path csv 
/home/mdemello/opt/share/haxe/lib/csv/0,4,0/ 
-D csv 

$ haxe -cp /home/mdemello/opt/share/haxe/lib/csv/0,4,0/lib/ -x CSV.hx 
# works 

編輯:這裏是與haxe -v運行時輸出:

$ haxe -v -lib csv -x CSV.hx 
Classpath : /home/mdemello/opt/share/haxe/lib/csv/0,4,0/;./;/usr/share/haxe/std/neko/_std/;/usr/share/haxe/std/ 
Defines : true;sys;neko;haxe_ver;haxe_release;haxe3;dce;csv 
Parsed /usr/share/haxe/std/StdTypes.hx 
Parsed /usr/share/haxe/std/neko/_std/String.hx 
Parsed /usr/share/haxe/std/neko/_std/Array.hx 
Parsed /usr/share/haxe/std/haxe/EnumTools.hx 
Parsed /usr/share/haxe/std/neko/_std/Std.hx 
Parsed ./CSV.hx 
./CSV.hx:1: characters 7-24 : Class not found : format.csv.Reader 

我注意到,從-lib添加的類路徑是/home/mdemello/opt/share/haxe/lib/csv/0,4,0/而一個我不得不手動通過-cp爲/home/mdemello/opt/share/haxe/lib/csv/0,4,0/lib

+0

是否'haxelib list'列表的CSV LIB(這將表明它的正確安裝):我通過添加lib/format -> format下面的符號鏈接固定呢? haxelib目錄中的'csv'文件夾中是否有'.current'文件,其中包含'0.4.0'?編輯:另外,是完整的錯誤haxelib給你?沒有堆棧跟蹤? – Gama11

+0

是的,'haxelib list'起作用,csv有'.current'文件和'0,4,0'目錄。這也是haxe的完整錯誤信息。我將重新運行-v並添加輸出。 –

+0

啊,這個包本身好像有問題。將csv/0,4,0/lib /格式符號鏈接到csv/lib /格式使得一切正常工作。我只是不幸,那是我使用的第一個haxe軟件包。 –

回答

2

編輯補充:它看起來像在Ubuntu(3.0.0)的默認haxelib沒有履行在CSV packag的CLASSPATH指令即下面的解決方法仍然有效,但它不應該被完成。更新haxe。


看起來像是csv軟件包目錄結構的問題。

csv 
└── 0,4,0 
    ├── format -> lib/format/ <--- symlink added 
    ├── lib 
    │   └── format 
    │    └── csv 
    └── test 
+0

我認爲如果這解決了您的問題,您應該將其標記爲接受的答案(即使您自己發佈)。 – Gama11

+0

我試過了;無限的智慧疊加,已經強加了2天的限制,然後你才能接受你自己的答案 –

+0

哇,這太可笑了。 – Gama11