DockerコンテナにメインモジュールといくつかのヘルパーモジュールからなるLuaライブラリを再パッケージしようとしています。道の私は仕事にドッカーコンテナをしたいので、それがあれば、非常に参考になる:メインファイルからの輸入がLua:別の作業ディレクトリから相対インポートが失敗する
require 'helpers/SomeHelper'
問題があるように行われるように、ヘルパー・モジュールは、ライブラリのサブフォルダ内に保持されています私は別の作業フォルダからこのライブラリを呼び出すことができます。つまり、メインプログラムへの私の呼び出しは、私が立っている実際の作業ディレクトリに関係なく、
th /app/main.lua
のようになります。残念ながら、作業ディレクトリがメインファイルがあるディレクトリと異なる場合、相対インポートは失敗するようです。
これらのインポートを正しく機能させるために、LUA_PATHやその他のメカニズムを構成する方法はありますか?私自身が開発したものではないので、ライブラリ自体のコードを変更することは貧弱な解決策であり、私はそれを新しいバージョンに簡単に更新できるようにしたいと考えています。
非常に完全な回答!私はDockerコンテナの中にアプリケーションをパッケージ化しているので、そのコードを変更したくないので、私にとって最適なオプションは、LUA_PATH環境変数を変更することでした。私はLUA_PATH = "/ app /?lua;/app/helpers/?. lua ;;を宣言しなければなりませんでした。必要な操作を行うようにします。 – albarji