2013-02-03 26 views
2

在這個項目上工作:https://github.com/cucumber/bool如何在Makefile中使用rvm?

有一個makefile來構造各種項目,我想使用RVM能夠爲東西紅寶石目錄內的紅寶石之間進行切換,但是,當我給makefile文件命令,切換紅寶石,我得到一個討厭的錯誤

RVM is not a function, selecting rubies with 'rvm use ...' will not work. 

You need to change your terminal emulator preferences to allow login shell. 
Sometimes it is required to use `/bin/bash --login` as the command. 
Please visit https://rvm.io/integration/gnome-terminal/ for a example. 

當然,如果我發出rvm use 1.9.3在命令行上它工作得很好,所以這是別的東西的症狀,但我不知道是什麼。

+0

問題和答案也適用於nvm。你可以添加nvm標籤,讓nvm的人可以找到答案嗎? –

回答

4

當你從cron調用RVM(或者一個Makefile,我期望),設置合適的環境很重要。偵察員隊有一個偉大的博客文章,解釋這一點:

http://blog.scoutapp.com/articles/2010/09/07/rvm-and-cron-in-production

的重要組成部分,是確保你有一個完整的登錄shell,所以你可以訪問RVM。

/bin/bash -l -c 'the_command_inside_makefile" 
+0

這將是魔術醬,謝謝! – BeepDog

0

這似乎是an RVM wrapper script的一個很好的用法,它可以讓您生成一個shell腳本,該腳本可以將給定的RVM ruby​​實例加載到該環境中,而無需使用正常的交互式RVM設置。

例如:

rvm wrapper [email protected] ruby bool 

...將創建一個名爲 '布爾' 有選擇的給定的Ruby包裹腳本。