2012-09-03 12 views
6

मैंने चारों ओर शिकार किया लेकिन मैं यह निर्धारित नहीं कर सका कि यह संभव है या नहीं।लुआ: स्थानीय रूप से स्थापित चट्टान (या .zip/.tar.gz से) luarocks का उपयोग करके एक चट्टान स्थापित करें

असल में, http://luarocks.org नीचे है, और मेरे पास पहले से ही स्थानीय रूप से अन्य मशीन पर स्थापित लुफाइलेस सिस्टम की एक प्रति है। रुबी के साथ, स्थानीय रूप से 'मणि' कमांड का उपयोग करके रूबी रत्न स्थापित करना संभव है। मैं सोच रहा हूं कि चट्टानों और लुआक्स के साथ भी यही संभव है।

क्या उस चट्टान की एक और स्थानीय स्थापना का उपयोग करके एक चट्टान (उदाहरण के लिए, लुफाइलीसिस्टम) को 'क्रॉस-इंस्टॉल' करने का कोई तरीका है?

कुछ की तरह:

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

मैं ऐसा करने में सक्षम होना चाहते हैं क्या है।

अद्यतन: उदाहरण के लिए, अगर मैं this location (लुआफाइल सिस्टम के मामले में) में से किसी एक छवि को डाउनलोड करता हूं, तो मैं .tar.gz या .zip से एक चट्टान को स्थापित करने के तरीके से भी खुश हूं।

किस मामले में, इंस्टॉलेशन के लिए 'स्रोत' मशीन के लिए स्थानीय/स्थानीय हो सकता है, और दूरस्थ रूप से पहले से ही एक चट्टान के रूप में स्थापित नहीं किया जाएगा)।

उत्तर

4

LuaRocks स्रोत से सीधे इसे स्थापित एक pack subcommand कि एक द्विआधारी रॉक बनाएगा है (एक ज़िप स्थापित मॉड्यूल के लिए सभी फाइलों युक्त फ़ाइल)। वास्तुकला से मेल खाने के बाद, आप उसी कंप्यूटर को उसी कंप्यूटर पर स्थापित करने के लिए उस बाइनरी रॉक का उपयोग कर सकते हैं।

उदा।

luarocks pack luafilesystem 

मेरी मशीन पर luafilesystem-1.6.2-2.linux-x86_64.rock, और

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

पैदा करता है कोई इंटरनेट कनेक्शन आवश्यक साथ luafilesystem पुनः स्थापित होगा।

19

यदि आपके पास स्रोत ज़िप है, तो आप इसे अनपैक कर सकते हैं और rockspec फ़ाइल में luarocks को इंगित कर सकते हैं। यहां बताया गया है कि मैंने स्रोत से 'बस्टेड' कैसे स्थापित किया।

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

या

cd busted 
luarocks make 
+0

धन्यवाद @ रॉबर्ट वाहलर - आपने प्रश्न में मेरे "अद्यतन:" का उत्तर दिया है, जो काफी उपयोगी है। मैं अपने मूल प्रश्न के उत्तर भी प्राप्त करने की उम्मीद कर रहा था (जो कि पहले से स्थापित एक से चट्टान स्थापित करना है - लेकिन शायद यह संभव नहीं है)। किसी भी मामले में, आप मुझसे एक उथल-पुथल प्राप्त करते हैं! – likethesky

+0

मुझे इंस्टॉल करने के बाद से जो भी पूछना है, उसे करने के लिए स्वचालित तरीके से नहीं पता, कोड और बिन रैपर अलग-अलग स्थानों में समाप्त हो सकते हैं। दोनों रत्न और चट्टानों के लिए, मैं एक विक्रेता फ़ोल्डर बनाता हूं जो प्रत्येक प्रोजेक्ट में एम्बेडेड होता है, इसलिए तैनाती 3dparty होस्टेड सेवाओं जैसे rubygems.org या luarocks.org पर निर्भर नहीं होती है। –

2

यदि कोई स्थानीय स्रोत रॉक से स्थापना चाहता है।

बस इस कार्य करें:

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

नोट:

उपयोग make बजायinstall। कारण here (नीचे उद्धृत) है। एक rockspec का उपयोग कर मौजूदा निर्देशिका में

make संकलित पैकेज:

LuaRocks इस प्रदान करता है।

install एक चट्टान स्थापित करें।

हालांकि, install वर्तमान मेक का उपयोग नहीं करता है। यह को स्थानीय रूप से अनुकूलित किए गए सर्वर के के बजाय सर्वर से उसी पैकेज को डाउनलोड और पुन: संकलित करने का प्रयास करता है।

इस दौर के आसपास कोई रास्ता?

make आदेश वास्तव में निर्माण और अपने अनुकूलित rockspec स्थापित हो जाएगा। खराब नामकरण विकल्प हर समय और फिर, मुझे भ्रम का कारण बनता है।

संबंधित मुद्दे