在 NodeJS/NPM 中,您可以创建 package.json
并运行 npm install
以将所有依赖项安装在项目中的文件夹中: ./node_modules
。 (一个项目可以是一个应用程序或另一个模块/包。)
Ruby 还有一个“捆绑器”系统(使用 .bundle 文件),它跟踪特定于目录(即项目)的 gem。
LuaRocks 是否有类似的约定?还是建议将所有内容都安装到 /usr
或 $HOME
?
到目前为止,我已经能够获得类似的功能,但我必须创建一个自定义的 LuaRocks 配置文件,并在每次我想安装 Rock 时指定 --tree=my_local_lua_rocks_dir
。当然,我总是可以创建一个 bash 脚本。关键是我似乎违反了惯例。
最佳答案
可以使用 --tree
标志将岩石安装到当前目录下的目录中:
luarocks install --tree ./lua_modules lpeg
然后你必须在 Lua 中配置你的
package.path
和 package.cpath
变量(可以通过 LUA_PATH
和 LUA_CPATH
环境变量设置),以便它找到安装在其中的模块。有几种方法可以方便地做到这一点:这个 tutorial explains how to do it, with more examples 。关于lua - luarocks 管理是否有项目的 "./node_modules"等价物?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18149358/