Problemas com o require do lua

38 views
Skip to first unread message

BernardoProgrammer

unread,
Jan 13, 2025, 4:34:33 AMJan 13
to Lua BR
Eu havia reinstalado o lua por problemas com o luarocks, mas ao instalar novamente ele começou a apresentar problemas, antes bastava criar um arquivo novo e executar o código que ele procurava os módulos na própria pasta, agora ele está procurando nas pasta que está o lua.exe. O meu arquivo utils está na mesma pasta que o main, e o PATH já contem o caminho para o lua.

Erro:
C:\Dev\lua\5.4.2\lua.exe: .\main.lua:1: module 'utils' not found:
        no field package.preload['utils']
        no file 'C:\Users\faker\Utils'
        no file 'C:\Dev\lua\5.4.2\utils.dll'
        no file 'C:\Dev\lua\5.4.2\..\lib\lua\5.4\utils.dll'
        no file 'C:\Dev\lua\5.4.2\loadall.dll'
        no file '.\utils.dll'
        no file 'C:\Dev\lua\5.4.2\utils54.dll'
        no file '.\utils54.dll'
stack traceback:
        [C]: in function 'require'
        .\main.lua:1: in main chunk
        [C]: in ?

Eric Chiesse

unread,
Jan 13, 2025, 8:10:08 AMJan 13
to lua...@googlegroups.com
Vc vai ter que configurar seu `package.path` ou diretamente no código ou através da variável de ambiente LUA_PATH.

Tenta no código colocar na primeira linha: `package.path = '.\?.lua;' .. package.path` (estou supondo que utils.lua está na mesma pasta de main.lua). Se funcionar, vc vai querer replicar isso na variável LUA_PATH do seu ambiente pra não ficar precisando escrever isso no código.

De qualquer forma recomendo vc ler como o sistema de descoberta de módulos em Lua funciona e é configurado.
---
Eric


--
Lua BR - https://groups.google.com/g/lua-br
---
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para lua-br+un...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/lua-br/955ea03e-8a7b-47e6-ba26-54d25ff912ddn%40googlegroups.com.

Denis Dos Santos Silva

unread,
Jan 13, 2025, 9:25:14 PMJan 13
to Lua BR
parece que ai tem que instalar na mao o pacote 'utils'

Hugo Cerqueira

unread,
Jan 19, 2025, 1:21:37 PMJan 19
to lua...@googlegroups.com
Boa tarde.

Estou supondo que você possui o módulo utils no diretório de onde está
chamando o interpretador, confere? Se este for o caso...

Como exatamente foi feita essa reinstalação? Melhor dizendo, de onde
obteve o binário para instalação? Pergunto isso pois no lua.org você
pode baixar o código-fonte e compilar, mas binários são fornecidos por
projetos terceiros. E aí cada projeto pode ter suas configurações
específicas sobre a descoberta de módulos.

> C:\Dev\lua\5.4.2\lua.exe: .\main.lua:1: module 'utils' not found:

Pela versão apresentada nessa mensagem de erro, estou supondo que
obteve do LuaBinaries [1].

[1] https://luabinaries.sourceforge.net/download.html

Geralmente, por padrão o diretório atual é considerado na busca (e
inclusive isso se aplica à versão distribuída no LuaBinaries). Pode ser
que você tenha configurado o LUA_PATH (ou LUA_PATH_<versao>, por
exemplo LUA_PATH_5_2) e se esqueceu de remover a configuração.

Veja se isso ainda está configurado e experimente remover essa
configuração. Por se tratar de variável de ambiente, será necessário
encerrar sua sessão de usuário no sistema, e abrir uma nova (ou
reiniciar o sistema) para que a alteração tenha efeito.

Se não for isso, pode ser algo relacionado ao modo como está acionando
o interpretador. Não estou certo se no Windows é assim, mas talvez se
estiver usando o caminho absoluto para chamar o interpretador, então o
diretório "atual" pode ser o do executável.

Mas reitero, veja se realmente possui o módulo no diretório local, pois
do contrário realmente não vai ser possível que ele seja localizado
desse modo. Aí você precisaria configurar o LUA_PATH, de modo que
aponte para ao menos uma pasta onde o módulo utils esteja presente.


--
Att,
@hrcerq

0/ ´ ° ` o ´ ° ` \0
Reply all
Reply to author
Forward
0 new messages