2012-09-03 30 views
6

Tôi đã săn lùng xung quanh nhưng tôi không thể xác định xem điều này có khả thi hay không.Lua: Cài đặt đá bằng cách sử dụng đá cục bộ từ một tảng đá được cài đặt cục bộ (hoặc từ một .zip/.tar.gz)

Về cơ bản, http://luarocks.org bị ngừng hoạt động và tôi đã cài đặt bản sao của hệ thống luafiles trên máy khác cục bộ tại đây. Với Ruby, có thể vượt qua việc cài đặt đá quý ruby ​​bằng cách sử dụng lệnh 'gem' cục bộ. Tôi tự hỏi nếu như vậy là có thể với đá và luarocks.

Có cách nào để 'cài đặt chéo' một tảng đá (ví dụ, luafilesystem), bằng cách sử dụng bản cài đặt cục bộ khác của tảng đá đó không?

Cái gì như:

luarocks install //10.0.1.123/machine/path/to/luafilesystem/on/other/machine

là những gì tôi muốn để có thể làm được.

CẬP NHẬT: Tôi thậm chí sẽ hài lòng với cách cài đặt đá từ .tar.gz hoặc .zip, ví dụ: nếu tôi đã tải xuống một trong các hình ảnh từ this location (trong trường hợp LuaFileSystem).

Trong trường hợp này, 'nguồn' để cài đặt sẽ/có thể là cục bộ cho máy, chứ không phải từ xa (và không nhất thiết phải được cài đặt dưới dạng đá).

Trả lời

4

LuaRocks có subcommand pack rằng sẽ tạo ra một tảng đá nhị phân (một file zip có chứa tất cả các file đối với một mô-đun cài đặt). Bạn có thể sử dụng đá nhị phân đó để cài đặt cùng một mô-đun trên một máy tính khác, do kiến ​​trúc phù hợp.

Ví dụ:

luarocks pack luafilesystem 

sản xuất luafilesystem-1.6.2-2.linux-x86_64.rock trên máy tính của tôi, và

luarocks install luafilesystem-1.6.2-2.linux-x86_64.rock 

sẽ cài đặt lại luafilesystem không có kết nối internet cần thiết.

19

Nếu bạn có mã nguồn, bạn có thể giải nén nó và trỏ luarocks vào tệp rockspec. Đây là cách tôi cài đặt 'busted' từ nguồn.

git clone https://github.com/Olivine-Labs/busted.git 
luarocks install busted/busted-1.3-1.rockspec 

Hoặc cài đặt nó trực tiếp từ nguồn

cd busted 
luarocks make 
+0

Cảm ơn @Robert Wahler - Bạn đã trả lời "UPDATE:" của tôi cho câu hỏi, điều này khá hữu ích. Tôi đã hy vọng cũng nhận được một câu trả lời cho câu hỏi ban đầu của tôi quá (đó là để cài đặt một tảng đá từ một trong đó đã được cài đặt - nhưng có lẽ đó là không thể). Trong mọi trường hợp, bạn nhận được một upvote từ tôi! – likethesky

+0

Tôi không biết cách tự động để thực hiện những gì bạn yêu cầu kể từ khi cài đặt, mã và trình bao bọc bin có thể kết thúc ở các vị trí khác nhau. Đối với cả đá quý và đá, tôi tạo một thư mục nhà cung cấp được nhúng trong mỗi dự án để triển khai không phụ thuộc vào các dịch vụ được lưu trữ trên 3dparty như rubygems.org hoặc luarocks.org. –

2

Nếu ai đó muốn cài đặt từ đá nguồn cục bộ.

Chỉ cần làm điều này:

cd /path/to/source-rock 
luarocks make source-rock.rockspec 

LƯU Ý:

Sử dụng make thay vì install. Lý do là here (được trích dẫn bên dưới).

LuaRocks cung cấp này:

make Compile gói trong thư mục hiện hành sử dụng một rockspec.

install Cài đặt đá.

Tuy nhiên, install không sử dụng hiện tại. Nó cố gắng để tải xuống và biên dịch lại cùng một gói từ máy chủ thay vì của gói tôi đã tùy chỉnh cục bộ.

Bất kỳ cách nào vòng này?

Lệnh make sẽ thực sự tạo và cài đặt rockspec tùy chỉnh của bạn. Sự lựa chọn đặt tên kém gây ra sự nhầm lẫn mỗi bây giờ và sau đó, Tôi biết.

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