2017-03-20 8 views
0

私はLuaを初めて使っています。私はcastlを使用して5.2をLUAするJSファイルをコンパイル:Lua:モジュール 'castl.runtime'が見つかりません

castl -o script.js 

これはscript.js.luaという名前のファイルを作成しました。これが私の新しいLUAファイルの最初の行です:

local _ENV = require("castl.runtime"); 

私はlua52 script.js.luaでそのファイルを実行しようとしたが、私はこのエラーを得た:

C:\Program Files\lua-5.2.4_Win64_bin\lua52.exe: script.js.lua:1: module 'castl.runtime' not found: 
     no field package.preload['castl.runtime'] 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\lua\castl\runtime.lua' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\lua\castl\runtime\init.lua' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime.lua' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime\init.lua' 
     no file '.\castl\runtime.lua' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime.dll' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\loadall.dll' 
     no file '.\castl\runtime.dll' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl\runtime52.dll' 
     no file '.\castl\runtime52.dll' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl.dll' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\loadall.dll' 
     no file '.\castl.dll' 
     no file 'C:\Program Files\lua-5.2.4_Win64_bin\castl52.dll' 
     no file '.\castl52.dll' 
stack traceback: 
     [C]: in function 'require' 
     script.js.lua:1: in main chunk 
     [C]: in ? 

は、私が何をしないのですか?私は

What am I missing?

あなたの問題は、あなたが機能requireを使用することで、あなたの質問に答えるためにWindowsの10

+0

docs: 'lua/castl /'にあるLuaランタイムライブラリ。これは 'castl.js'でコンパイルされたコードの実行を許可します。あなたの環境のLUA_PATHに同じものを加えてください。うまくいくはずです。 – hjpotter92

答えて

0

日午前、しかし、あなたは、この関数が何をするか分かりません。したがって、あなたが期待していることを実行できないときにスローするエラーを理解することはできません。

だから、最初のLuaのマニュアルを参照してください: ありhttps://www.lua.org/manual/5.3/manual.html#pdf-require

はあなたが見つける:

require searches for a Lua loader using the path stored in package.path. If that also fails, it searches for a C loader using the path stored in package.cpath. If that also fails, it tries an all-in-one loader (see package.searchers).

と追加の読み取りのために

The path used by require to search for a Lua loader.

At start-up, Lua initializes this variable with the value of the environment variable LUA_PATH_5_3 or the environment variable LUA_PATH or with a default path defined in luaconf.h, if those environment variables are not defined. Any ;; in the value of the environment variable is replaced by the default path.

https://www.lua.org/manual/5.3/manual.html#pdf-package.pathhttps://www.lua.org/pil/8.1.html

ウェブ検索に「Lua require」と入力すると、問題の解決策もたくさんあります。

hjpotter92はすでにコメントに記載されているので、デフォルトのフォルダに既に配置されていない限り、必要なファイルを探す場所をコンピュータに指示する必要があります。 それぞれのrequireを呼び出す前に、ファイルの場所をLUA_PATH環境変数に追加するか、package.path文字列に追加してください。

+0

私はあなたの指示を正しく理解していないかもしれませんが、 '%USERPROFILE%\ Desktop \ repos \ clones \ castl \ lua \ castl'に設定された' LUA_PATH'という環境変数ダイアログに新しいユーザー変数を追加しようとしました。この後、エラーが '.dll'ファイル(' .lua'ファイルはなくなりました)の "no file"エントリだけを列挙した以外は同じエラーが出ました。 –

+0

その環境変数なしでLuaが '' C:\ Program Files \ ua-5.2.4_Win64_bin \ lua \ castl \ ''で 'runtime.lua'ファイルを探していたら、' lua'フォルダをその場所に私のcastlのrepo( '' C:\ Program Files \ lua-5.2.4_Win64_bin \ '')。これはこのエラーを過ぎて別のものに移動したようです... –

関連する問題