2013-02-07 26 views
6

Tôi đã cài đặt OPAM và chạy khởi chạy cũng như đã cập nhật mã .bashrc của mình. Sau đó tôi đã cài đặt gói ocamlfind, đã thành công. Nhưng khi tôi cố gắngGói OPAM không hoạt động

#use "topfind";; 

tôi nhận được sau

Cannot find file topfind 

Tôi đang chạy ocaml 4.00.1 xây dựng từ nguồn trên OpenSUSE 12.2.

Trả lời

4

Nếu $OCAML_TOPLEVEL_PATH không được định nghĩa, bạn phải định nghĩa nó:

export OCAML_TOPLEVEL_PATH=/home/%user%/.opam/%version%/lib/toplevel 

Đừng quên thay đổi %user% và trình biên dịch của bạn %version%

Kiểm tra issue này trên bugtracker OPAM.

+0

Hi, không có thư mục phiên bản trong thư mục ".opam" . Chỉ có 'aliases'' archives' 'compilers'' config' 'descr' và những thứ khác như thế. – Jatajuuf

+0

Tôi đã thêm một sửa đổi nhỏ, đường dẫn là '/ home /% user% /. Opam/system/lib/toplevel' và nó hoạt động. Cảm ơn. – Jatajuuf

8

Trước tiên, bạn cần phải xuất khẩu các biến môi trường thích hợp bằng cách thực hiện:

eval `opam config env` 

Để có hiệu quả hơn, bạn nên đặt dòng đó trong ~/.profile (hoặc ~/.bashrc) của bạn.

Sau đó, nếu bạn đang sử dụng trình biên dịch hệ thống, bạn có thể thêm những dòng này để ~/.ocamlinit của bạn:

let() = 
    try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") 
    with Not_found ->() 

Chúng tôi đang cố gắng cải tiến quá trình này trước khi phát hành 1.0.

+0

Điều này cũng hiệu quả. Cảm ơn OPAM, tôi không bao giờ có thể khiến GODI chạy trước và cài đặt các thư viện được sử dụng để trở thành nỗi đau, bây giờ nó là một cinch! – Jatajuuf

1

gì nếu bạn bắt đầu mục cấp đầu như

rlwrap ocaml -I "$OCAML_TOPLEVEL_PATH"

Bạn cũng có thể thử mục cấp đầu thay thế: utop (nó tồn tại trong OPAM)

+0

Xin chào, tôi không cài đặt rlwrap, và tôi đã thiết lập Emacs với trình thông dịch ocaml mặc định, vì vậy tôi không muốn chuyển sang "utop" trong tuareg. Dù sao cũng cảm ơn bạn. – Jatajuuf

+0

'rlwrap' là không cần thiết. 'ocaml -I" $ OCAML_TOPLEVEL_PATH "' sẽ khắc phục vấn đề imho. – Stas

+0

Khi tôi đặt biến '$ OCAML_TOPLEVEL_PATH', tôi có thể chạy chỉ' ocaml'. – Jatajuuf

Các vấn đề liên quan