2012-04-27 7 views
5

स्थापित करना या तो मैं ओवरटार्ड या अंधा हूं। मैं लुआ के साथ नेटवर्किंग सीखना चाहता हूं और इसलिए मुझे socket lib स्थापित करना है, इसलिए मुझे इसे आसानी से आवश्यकता हो सकती है, लेकिन मुझे नहीं पता, मुझे कौन सी फाइलें "आवश्यकता" चाहिए। उदाहरण कहते हैं:लुआ सॉकेट लाइब्रेरी

local socket = require("socket") 

लेकिन जैसा कि मैंने कहा, मैं नहीं जानता कि कौन-सी फ़ाइलें मैं शामिल होना चाहिए, यह काम नहीं करता है, तो मैं socket.lua का उपयोग करें और मैं: No files found

मैं यहाँ से lib मिला: Lua socket download

या, वहाँ एक और तरीका सॉकेट lib स्थापित करने के लिए है?

+3

है [स्थापना निर्देश?] के साथ कुछ गड़बड़ है (http://w3.impa.br/~diego/software/luasocket/installation.html) –

+0

शायद 'luarocks luaso इंस्टॉल करें cket' कमांड आपकी मदद कर सकता है। –

उत्तर

12

जब आप require के साथ मॉड्यूल लोड करते हैं तो लुआ मॉड्यूल के लिए कहां देखना है यह निर्धारित करने के लिए पैकेज पथ का उपयोग करता है। लुआ मैनुअल के Modules अनुभाग पर एक नज़र डालें। विशेष रूप से, package.path और package.cpath पर अनुभाग।

package.path: द्वारा इस्तेमाल किया पथ एक लुआ लोडर (.lua मॉड्यूल)
package.cpath के लिए खोज करने के लिए आवश्यकता होती है: द्वारा इस्तेमाल किया पथ एक सी लोडर (.so/.dll मॉड्यूल के लिए खोज करने की आवश्यकता होती है)

आप देख सकते हैं कि क्या वर्तमान रास्ते हैं:

print(package.path..'\n'..package.cpath) 

आप अपने वर्तमान पैकेज पथ के भीतर एक स्थान में LuaSocket स्थापित कर लेते हैं लुआ का पता कर उसे लोड करने के लिए सक्षम होना चाहिए।

वैकल्पिक रूप से, आप require पर कॉल करने से पहले पैकेज पथ को संशोधित कर सकते हैं। उदाहरण के लिए, आप अपनी परियोजना के लिए एक फ़ोल्डर बनाने और एक उप-फ़ोल्डर अपनी परियोजना फ़ोल्डर के भीतर libs बुलाया LuaSocket पुस्तकालय निकालने यदि:

Project 
| 
> libs 
    | 
    > lua 
     | 
     > socket   
    > socket 
    > mime 

से पहले आपको require सॉकेट पैकेज पथ अपनी परियोजना के सापेक्ष सेट कर सकते हैं पुस्तकालय (लिनक्स पर /?.so के लिए /?.dll स्थानापन्न):

package.path = package.path..';./libs/lua/?.lua' 
package.cpath = package.cpath..';./libs/socket/?.dll;./libs/mime/?.dll' 
local socket = require 'socket' 
0

उपयोग इस आदेश अपने Linux सिस्टम पर:

#luarocks install luasocket 

उपयोग अगले आदेश पथ विन्यास

#luarocks 

आप डिफ़ॉल्ट linux खाते का उपयोग करना देखने के लिए (देखें: विन्यास):

$lua 
> socket = require ("socket") 

या का उपयोग करें:

> socket = require 'socket'