[英]Lua 5.3 thinks socket.lua doesn't exist in a directory where it actually does exist
這是屏幕截圖: https : //drive.google.com/open?id=0B4Dqo44FM648VTVKVzBKSERldGc
我想為開源游戲的開發做出貢獻,但是這個問題使我無法這樣做。
我的LuaRocks安裝已針對Lua 5.3配置,並設置為使用MinGW的構建工具。 我的操作系統是Windows 10 64位。
我的Lua 5.3.2二進制文件由該網站提供(lua-5.3.2_Win64_bin.zip)。
如果您有可能的原因的想法,請發布它。
您必須手動解析環境變量:
返回流程環境變量varname的值;如果未定義該變量,則返回nil。
因此,您需要先獲取%APPDATA%路徑:
os.getenv("APPDATA")
返回值:C:\\ Users \\ USERNAME \\ AppData \\ Roaming
當搜索要加載的軟件包時,Lua使用預定義的文件夾列表進行搜索。此列表在package.path中定義,它是一個以分號分隔(;)的字符串。 要添加新文件夾,必須將其路徑附加到package.path :
package.path = package.path .. ";" .. NEWFOLDER .. "\\?.lua"
最后,完整的解決方案是這樣的:
package.path = package.path .. ";" .. os.getenv("APPDATA") .. "\\luarocks\\share\\lua\\5.3\\?.lua"
local s = require("socket")
“ Lua不會在package.path中擴展環境變量引用,因此%APPDATA%將不起作用。您需要真實的路徑。LuaRocks安裝腳本應該說:“請注意,上述路徑中的%APPDATA%元素是特定於用戶,並且必須用其實際值替換。”-siffiejoe
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.