daurnimator / lua-http

HTTP Library for Lua. Supports HTTP(S) 1.0, 1.1 and 2.0; client and server.
https://daurnimator.github.io/lua-http/
MIT License
778 stars 80 forks source link

Exception has occurred: module 'ffi' not found #222

Closed windzhu0514 closed 1 month ago

windzhu0514 commented 1 month ago

IDE: VSCode Lua Version: 5.1 Extension: Lua Debug code is here

local http_request = require "http.request"

when debug this error occurred

Exception has occurred: module 'ffi' not found:
    no field package.preload['ffi']
    no file '/home/ljc/WorkspaceLua/spider/ffi.lua'
    no file './ffi.lua'
    no file '/usr/local/share/lua/5.1/ffi.lua'
    no file '/usr/local/share/lua/5.1/ffi/init.lua'
    no file '/usr/local/lib/lua/5.1/ffi.lua'
    no file '/usr/local/lib/lua/5.1/ffi/init.lua'
    no file '/usr/share/lua/5.1/ffi.lua'
    no file '/usr/share/lua/5.1/ffi/init.lua'
    no file '/home/ljc/WorkspaceLua/spider/ffi.so'
    no file './ffi.so'
    no file '/usr/local/lib/lua/5.1/ffi.so'
    no file '/usr/lib/x86_64-linux-gnu/lua/5.1/ffi.so'
    no file '/usr/lib/lua/5.1/ffi.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
    [string "local ffi = require 'ffi'..."]:1: in main chunk
    [C]: in ?
    [C]: in function 'require'
    ../../../../usr/local/share/lua/5.1/openssl/ssl.lua:1: in main chunk
    [C]: in function 'require'
    ../../../../usr/local/share/lua/5.1/http/client.lua:9: in main chunk
    [C]: in function 'require'
    ../../../../usr/local/share/lua/5.1/http/request.lua:5: in main chunk
    [C]: in function 'require'
    test/test_http.lua:4: in main chunk
    [C]: in ?
daurnimator commented 1 month ago
[string "local ffi = require 'ffi'..."]:1: in main chunk
  [C]: in ?
  [C]: in function 'require'
  ../../../../usr/local/share/lua/5.1/openssl/ssl.lua:1: in main chunk

It appears that you have some other openssl module in your lua path. lua-http expects openssl.ssl to point at luaossl (https://github.com/wahern/luaossl/) This is not a lua-http issue.