2012-04-08 18 views
9

Tôi không thể nhận được bất kỳ phụ thuộc nào từ github sử dụng cốt thép.cốt thép không thể nhận được sự phụ thuộc từ github

rebar.config file:

{sub_dirs, ["rel"]}. 

{deps_dir, ["deps"]}. 
{erl_opts, [debug_info]}. 

{deps, [ 
{thrift_erl, "0.5.0", {git, "git://github.com/xslogic/thrift_erl", "HEAD"}}, 
{eleveldb, "1.0.1", {git, "git://github.com/xslogic/eleveldb", "HEAD"}} 
]}. 

Khi tôi làm ./rebar biên dịch tôi nhận được:

Dependency not available: thrift_erl-0.5.0 ({git, 
             "git://github.com/xslogic/thrift_erl", 
             "HEAD"}) 
Dependency not available: eleveldb-1.0.1 ({git, 
             "git://github.com/xslogic/eleveldb", 
             "HEAD"}) 

Nó tiếp tục tìm kiếm DEP_NAME với một dash ở cuối và dường như không thể tìm nó.

Cách sửa lỗi này?

Trả lời

27

Tôi nghĩ rằng bạn nên sử dụng lệnh rebar get-deps trước tiên. Nếu lệnh biên dịch cốt thép là lỗi, hãy thử rebar delete-deps, rebar clean. Nếu vẫn còn lỗi, hãy chuyển trực tiếp sang các chi nhánh liên quan, biên dịch các dự án này một cách độc lập. (Tôi đã phải đối mặt với vấn đề này một lần).

+0

Hãy chắc chắn rằng bạn nhập sudo cốt thép GET deps – DilumN

0

Đường dẫn git của bạn đơn giản là không chính xác.

Bạn quên ".git" ở cuối. Nó phải là git://github.com/xslogic/eleveldb.git không phải git://github.com/xslogic/eleveldb.

+1

Nó hoạt động sau khi xóa các dep và nhận lại chúng. Các đường dẫn không hoàn chỉnh nhưng chúng hoạt động với cốt thép. – mbsheikh

+0

Để chính xác; GitHub cho phép bạn sao chép từ một trong hai. Các nhà cung cấp Git khác có thể không được tha thứ. – Ashe

1

Bạn quên .get như đã nêu trước đây và với các phiên bản, hãy thử thêm số cam kết vì chúng nâng cấp phần mềm và phiên bản để chủ có thể trỏ đến phiên bản khác.

Vì vậy, thay đổi HEAD cam kết và thiết lập phiên bản này cam kết hoặc rời ĐẦU nhưng thiết lập phiên bản * (hiện tại hầu hết)

này sẽ giúp rất nhiều sau :)

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