标签: luarocks

如何使用Luarocks为Lua5.2和5.1安装库?

我正在编写一个小的Lua项目并使用Luarocks来安装我的第三方依赖项.我机器上的默认Lua版本是5.2,到目前为止一切正常.

但是,今天我偶然发现了一个令我困惑的问题.我想在Lua 5.1和Luajit上运行我的程序,看看它是否也适用于那些版本,但我很难让Luarocks下载相应版本的依赖项.作为最后的手段,我试图告诉Lua5.1使用Luarocks安装的5.2库(通过将LUA_PATH环境变量设置为相同的值LUA_PATH_5_2)但不幸的是这还不够:我的项目依赖于LuaFileSystem,一个C-基于模块,所以我需要为5.1和5.2安装单独的版本.

如何安装依赖项的5.1和5.2版本,我该怎么办?我是否需要将一些参数传递给luarocks install命令?我是否需要在我的机器上安装多个Luarocks实例?令我困惑的一件事是.luarocks文件夹里面的东西被分类在5.2子文件夹下(〜/ .luarocks/share/lua/5.2 /),这表明可能有办法在兄弟5.1文件夹中安装东西但是在同时只有一个bin文件夹,这表明luarocks一次只能处理一个版本的Lua ...

lua luajit luarocks

14
推荐指数
4
解决办法
2万
查看次数

Lua 5.3已安装,但我找不到正确的lua.h

我正在尝试安装一些luarocks包,但似乎虽然安装了lua5.3,但相关头文件没有

$ which lua
/usr/bin/lua
Run Code Online (Sandbox Code Playgroud)
$ lua -v
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio
Run Code Online (Sandbox Code Playgroud)
/usr/include$ ls *lua*
lua5.1:
lauxlib.h  luaconf.h  lua.h  lua.hpp  lualib.h

luajit-2.1:
lauxlib.h  luaconf.h  lua.h  lua.hpp  luajit.h  lualib.h
Run Code Online (Sandbox Code Playgroud)
$ locate lua.h
/usr/include/luajit-2.1/lua.h
/usr/include/luajit-2.1/lua.hpp
/usr/share/doc/texlive-doc/latex/greek-fontenc/lgr2licr.lua.html
/usr/src/linux-headers-5.4.0-31-generic/include/config/scsi/dh/alua.h
/usr/src/linux-headers-5.4.0-40-generic/include/config/scsi/dh/alua.h
/usr/src/linux-headers-5.4.0-66-generic/include/config/scsi/dh/alua.h
/usr/src/linux-headers-5.4.0-70-generic/include/config/scsi/dh/alua.h
Run Code Online (Sandbox Code Playgroud)
$ sudo luarocks install luacheck
Installing https://luarocks.org/luacheck-0.24.0-2.src.rock
Missing dependencies for luacheck 0.24.0-2:
   luafilesystem >= 1.6.3 (not installed)

luacheck 0.24.0-2 depends on luafilesystem >= 1.6.3 (not installed)
Installing https://luarocks.org/luafilesystem-1.8.0-1.src.rock
gcc -O2 -fPIC -I/usr/include/lua5.3 -c src/lfs.c -o src/lfs.o
src/lfs.c:84:10: fatal error: …
Run Code Online (Sandbox Code Playgroud)

linux lua luarocks

12
推荐指数
1
解决办法
9225
查看次数

nvcc致命:没有为选项'gpu-architecture'定义值'sm_20'

我看了很多页面,或者不能按照他们的说法去做,因为他们不清楚和/或我的知识还不够.

我想跑:

luarocks install https://raw.githubusercontent.com/qassemoquab/stnbhwd/master/stnbhwd-scm-1.rockspec

这样我就可以使用GPU加速在一些图像上运行DenseCap.当我运行它时,我收到此错误:

$ luarocks install https://raw.githubusercontent.com/qassemoquab/stnbhwd/master/stnbhwd-scm-1.rockspec
Using https://raw.githubusercontent.com/qassemoquab/stnbhwd/master/stnbhwd-scm-1.rockspec... switching to 'build' mode
Cloning into 'stnbhwd'...
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 24 (delta 0), reused 14 (delta 0), pack-reused 0
Receiving objects: 100% (24/24), 19.42 KiB | 0 bytes/s, done.
Checking connectivity... done.
cmake -E make_directory build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/home/tex/torch/install/bin/.." -DCMAKE_INSTALL_PREFIX="/home/tex/torch/install/lib/luarocks/rocks/stnbhwd/scm-1" && make

-- The C compiler identification is GNU 5.4.0
-- …
Run Code Online (Sandbox Code Playgroud)

cuda nvidia nvcc luarocks torch

9
推荐指数
2
解决办法
6536
查看次数

Lua:使用当地安装的岩石(或.zip/.tar.gz)使用luarocks安装岩石

我一直在寻找,但我无法确定这是否可行.

基本上,http://luarocks.org已经关闭了,我已经在这里本地安装了另一台机器上的luafilesystem副本.使用Ruby,可以在本地使用'gem'命令交叉安装ruby gems.我想知道岩石和蜥蜴是否可能相同.

有没有办法通过使用该岩石的另一个本地安装来"交叉安装"岩石(例如,luafilesystem)?

就像是:

luarocks install //10.0.1.123/machine/path/to/luafilesystem/on/other/machine

是我希望能够做到的.

更新:我甚至很乐意与如何从名为.tar.gz或.zip安装一块岩石上,举例来说,如果我下载一个图像从这个位置(在LuaFileSystem的情况下).

在这种情况下,安装的"源"将是/可能是机器的本地,而不是远程(并且不一定已经安装为摇滚).

lua luarocks

8
推荐指数
3
解决办法
1万
查看次数

在Windows上使用Luarocks安装带有mingw构建错误的Torch7

我按照这里的说明,用Mingw从头开始设置Lua和Luarocks.一切都很好,我能够安装岩石,包括需要像LuaSocket一样编译的岩石.

我按照Torch7页面上的说明通过luarocks安装Torch.但它失败了.我不懂为什么.

这是控制台输出.我最好的猜测是它与Building for: Visual Studio 9 2008我想要使​​用Mingw时有关.

PS C:\WINDOWS\system32> luarocks --server=https://raw.githubusercontent.com/torch/rocks/master install torch
Installing https://raw.githubusercontent.com/torch/rocks/master/torch-scm-1.rockspec...
Using https://raw.githubusercontent.com/torch/rocks/master/torch-scm-1.rockspec... switching to 'build' mode

Missing dependencies for torch:
paths >= 1.0
cwrap >= 1.0

Using https://raw.githubusercontent.com/torch/rocks/master/paths-scm-1.rockspec... switching to 'build' mode
Cloning into 'paths'...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 10 (delta 0), reused 6 (delta 0)R
Receiving objects: 100% (10/10), 12.24 KiB | 0 bytes/s, done.
Checking connectivity... done. …
Run Code Online (Sandbox Code Playgroud)

lua mingw luarocks torch

8
推荐指数
1
解决办法
6595
查看次数

相当于 luarocks 的 package.json/requirements.txt 吗?

是否有一种文件/格式可以保存应用程序所需的所有依赖项,以便我可以运行luarocks install或读取所有这些依赖项并将它们安装在该目录中?

lua luarocks

7
推荐指数
0
解决办法
301
查看次数

LuaJIT没有看到LuaRocks安装的岩石

lua -e"print(package.path)"

./?.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/usr/lib/lua/5.1/?.lua;/usr/ LIB/LUA/5.1 /?/ init.lua

luajit -e"print(package.path)"

./?.lua;/usr/local/share/luajit-2.0.0-beta8/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1 /?/init.lua

我试过附加lua的package.path,尽管没有骰子.LuaJIT似乎无法找到任何岩石,这很奇怪.我该怎么办?

lua luajit luarocks

6
推荐指数
2
解决办法
4494
查看次数

Luasocket + nginx错误 - lua条目线程中止:运行时错误:尝试跨越C调用边界

当我使用以下脚本时:

local smtp = require("socket.smtp")
local from = "from@host"
local rcpt = "rcpt@host"
local msg = {
  headers = {
    to = rcpt,
    subject = "Hi"
  },
  body = "Hello"
}
smtp.send{from = from,rcpt = rcpt,source = smtp.message(msg)}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:lua entry thread aborted: runtime error: attempt to yield across C-call boundary.

我正在使用Lua 5.1 的最新luasocket安装,luarocks使用与LuaJIT 2.1编译的nginx.是什么导致此错误消息,我该如何解决?

lua nginx luasocket luajit luarocks

6
推荐指数
1
解决办法
2554
查看次数

安装了多个版本的 Lua 后,是否可以指定要安装到哪一个 luarock?

我在 Linux 上安装Lua 5.1Lua 5.2安装了两者。当使用luarocks安装包是可以传递选项,指定哪个Lua的版本的岩应安装luarocks?

lua conflicting-libraries luarocks

6
推荐指数
1
解决办法
2193
查看次数

未找到 Luarocks 安装的模块

我正在研究 Debian 稳定版 Linux。我通过命令安装了 luafilesystem 模块:

luarocks --local install luafilesystem
Run Code Online (Sandbox Code Playgroud)

但是,在lua源文件中使用以下任何一种时都找不到:

require ("lfs")
require ("luafilesystem")
Run Code Online (Sandbox Code Playgroud)

(尽管这些文件在 ZeroBraneStudio IDE 中运行时可以正常运行)。

根据网络上的建议,我还运行了以下命令:

luarocks --local install luarocks
Run Code Online (Sandbox Code Playgroud)

但它没有帮助。我检查了 luarocks-admin 命令,它显示:

CONFIGURATION
    Lua version: 5.1
    Configuration files:
        System: /etc/luarocks/config.lua (ok)
        User  : /home/abcd/.luarocks/config-5.1.lua (not found)

    Rocks trees in use: 
        /home/abcd/.luarocks
        /usr/local
Run Code Online (Sandbox Code Playgroud)

目前,我只安装了这两个模块:

$ luarocks list

Installed rocks:
----------------

luafilesystem
   1.7.0-2 (installed) - /home/abcd/.luarocks/lib/luarocks/rocks

luarocks
   2.4.3-1 (installed) - /home/abcd/.luarocks/lib/luarocks/rocks
Run Code Online (Sandbox Code Playgroud)

为此,我应该将 /etc/luarocks/config.lua 复制到 /home/abcd/.luarocks 吗?谢谢你的帮助。

lua module luarocks

6
推荐指数
1
解决办法
2560
查看次数

标签 统计

luarocks ×10

lua ×9

luajit ×3

torch ×2

conflicting-libraries ×1

cuda ×1

linux ×1

luasocket ×1

mingw ×1

module ×1

nginx ×1

nvcc ×1

nvidia ×1