An extension of [Lua's require() function](http://www.lua.org/pil/8.1.html) which adds support for Premake modules and version checking. ```lua require ("modname", "versions") ``` Premake will use its [extended set of module locations](Locating-Scripts.md) when locating the requested module. ### Parameters ### `modname` is the name of the module to be loaded. See [Locating Scripts](Locating-Scripts.md) for more information about how Premake modules are located. `versions` is an optional string of a version requirements. See the examples below for more information on the format of the requirements string. If the requirements are not met, an error will be raised. ### Returns ### The module object. ### Availability ### Premake 5.0 or later. ### Examples ### Require Premake version 5.0 or later. ```lua require("premake", ">=5.0") ``` If no operator is specified, defaults to ">=". I think it is a little more readable to include it though. ```lua require("premake", "5.0") ``` Require a version 5.0 alpha 3 or later. ```lua require("premake", ">=5.0.0-alpha3") ``` Require anything between Premake version 5.1 and 6.0. ```lua require("premake", ">=5.0 <6.0") ``` The same rules apply to third-party modules. ```lua require("foo", ">=1.1") ``` ### See Also ### * [_PREMAKE_VERSION](premake_PREMAKE_VERSION.md)