如何调试Luarocks报错

作者: zhoujingk_49 | 来源:发表于2015-11-28 10:04 被阅读311次

    关于Luarocks安装使用

    Luarocks在国内的网络环境下,使用并不是那么舒畅,但是由于其江湖地位,在春哥的iresty包管理平台出炉之前,Luarocks仍然是Lua包管理工具的首选。
    在之前的文章中,我对Luarocks的安装使用有过详细介绍,感兴趣的同学可以看这里

    Luarocks调试报错技巧

    --verbose最简单直接

    Luarocks所有命令调用的过程都可以通过添加--verbose参数来查看整个命令运行过程中,执行了那些操作以及操作的输出。

    lua -e""�最通用

    实例:在使用luarocks upload上传vanilla包的时候,发现一直报错

    LuaSec is not available; using plain HTTP. Install 'luasec' to enable HTTPS.
    Sending vanilla-0.1.0.rc2-1.rockspec ...
    
    Error: Failed loading socket library!
    

    而执行luarocks list又能看到自己安装的luasocket

    Installed rocks:
    ----------------
    
    luasocket
       3.0rc1-2 (installed) - /usr/local/luarocks-2.2.2/lib/luarocks/rocks
    

    因为在Openresty的环境中,调用luasocket没问题,直觉就没有去怀疑path的问题。左右找不出来为啥,最后github的同学建议命令行执行lua -e"print(require('socket.http'))"看能否加载,发觉果然不能加载,这下很明确是path的事儿了,package.path/cpath设置后,问题解决。
    解决问题后,我梳理了下过程,其实作为包管理工具Luarocks已经相对比较完备,--verbose已经能解决90%调试问题,Luarocks基于Lua开发,需要调用Lua包,包调用报错可单独执行调用部分代码,也能发现相应的问题。

    调试技巧记录在此后续不断追加

    相关文章

      网友评论

        本文标题:如何调试Luarocks报错

        本文链接:https://www.haomeiwen.com/subject/mbwdhttx.html