【发布时间】:2012-10-05 19:02:21
【问题描述】:
我有一个文件main.lua:
require("hello")
和目录foo bar! baz 中的文件hello.lua(带有!):
module(...,package.seeall)
print("hello from hello.lua")
当我(在 Windows 上)将环境变量 LUA_PATH 设置为目录时:
set LUA_PATH="C:\Programme\Lua\5.1\foo bar! baz\?.lua"
我收到一个奇怪的错误:
C:\Programme\Lua\5.1>lua main.lua
lua: main.lua:4: module 'hello' not found:
no field package.preload['hello']
no file '"C:\Programme\Lua\5.1\foo barC:\Programme\Lua\5.1 baz\hello.lua
"'
no file '.\hello.dll'
no file '.\hello51.dll'
no file 'C:\Programme\Lua\5.1\hello.dll'
no file 'C:\Programme\Lua\5.1\hello51.dll'
no file 'C:\Programme\Lua\5.1\clibs\hello.dll'
no file 'C:\Programme\Lua\5.1\clibs\hello51.dll'
no file 'C:\Programme\Lua\5.1\loadall.dll'
no file 'C:\Programme\Lua\5.1\clibs\loadall.dll'
stack traceback:
[C]: in function 'require'
main.lua:4: in main chunk
[C]: ?
看到C:\Programme\Lua\5.1\foo barC:\Programme\Lua\5.1 baz\hello.lua这个很奇怪的路径了吗?感叹号(bang)有什么特别之处?如何在 Windows 中做到这一点?在 Mac 上,这似乎工作正常。
【问题讨论】:
-
@TheZ 是的,没错,非常感谢!您可以将其发布为答案吗?
-
坚持使用无标点符号、仅 ASCII 目录名称的另一个原因 ...
-
@jpjacobs 多么有建设性的命令 :) 我从来没想过。