2013-08-09 7 views
2

NodeJS/NPM에서 package.json을 만들고 npm install을 실행하여 프로젝트 내의 모든 종속성을 설치할 수 있습니다 (./node_modules). (프로젝트는 응용 프로그램이나 다른 모듈/패키지가 될 수 있습니다.)luarocks 관리는 "./node_modules"프로젝트에 해당합니까?

루비에는 디렉토리 (즉, 프로젝트)와 관련된 보석을 추적하는 "bundler"시스템 (.bundle 파일 사용)이 있습니다.

루아 록스는 비슷한 규칙을 사용합니까? 또는 /usr 또는 $HOME에 모든 것을 설치하도록 권장됩니까?

지금까지 비슷한 기능을 얻을 수 있었지만 사용자 지정 LuaRocks 구성 파일을 만들고 암을 설치할 때마다 --tree=my_local_lua_rocks_dir을 지정해야합니다. 물론 필자는 bash 스크립트를 만들 수 있습니다. 요점은 내가 대회에 반대하는 것 같아요.

답변

4

--tree 플래그를 사용하여 현재 디렉토리 아래의 디렉토리에 바위를 설치할 수 있습니다 : LUA_PATHLUA_CPATH 환경을 통해 루아 (설정 가능에 package.pathpackage.cpath 변수를 구성 할 수

luarocks install --tree ./lua_modules lpeg 

그리고 당신이를 변수)에 저장되므로 모듈 내부에 설치된 모듈을 찾습니다. 이 작업을 편리하게 수행 할 수있는 방법은 여러 가지가 있습니다 : tutorial explains how to do it, with more examples.

+0

대단히 감사합니다. 이 대답은 많은 혼란을 해결했습니다. –

1

대신 Vert를 사용, 난 그냥 LuaRocks에게 설정 파일을 편집하기로 결정했습니다 :

rocks_servers = { 
[[http://rocks.moonscript.org/]], 
[[http://luarocks.org/repositories/rocks]] 
} 

rocks_trees = { 
[[/usr/local]], 
[[./my_dir]] 
} 

./my_dirpwd 당신이있어,하지에 상대적입니다 :

  1. /etc/luarocks/config.lua에서을 설정 파일의 위치에. 물론 my_dir을 원하는대로 변경하십시오.

    "바위를 설치할 때 LuaRocks는 목록의 맨 아래에서 시작하여 바위를 저장할 위치를 선택하려고하는데, 런타임에 바위를로드 할 때 LuaRocks가 목록 상단에서부터 검색합니다." 에서 : 당신의 .bashrc에서 다음 http://luarocks.org/en/Config_file_format

  2. :

    eval `luarocks path` 
    export PATH=$PATH:my_dir/bin 
    
  3. 그러나, 특정 명령에 대한 당신은 지금 나무를 지정해야하거나 당신에게 혼란 오류 줄 것이다 :

    luarocks make --tree=my_dir