To be clearer, you cannot invoke a module that doesn't exist. You must first create the module before you can specify a require function, otherwise, the script does not know what you are attempting to require.
i'm tell you that string library and string module it is two different things. do not be fooled by same names.
there is no place for arguing or playing around terminology. string module is neither a standard scribunto library, a scribunto library or a library. this message is totally incorrect: string library it is shared lua library. all the world have this library. when the string module (this specific one, that we talking about right now) is a wrapper (scribunto specific), that provides an interface between string library and wikitext.
this is incorrect, too. you don't need module:string to use string library in the lua module: scribunto (enabled by default) loads all the libraries. but you do need some module (not necessary the string one, you can write your own one, with wrappers and error handling) to use string library functions in the wikitext, because the only way to use lua output in the wikitext is scribunto extension (#invoke).