2012-11-08 66 views
0

我正在設置JRuby 1.7在ubuntu vagrant box中與torquebox配合使用。我正在使用torquebox-remote-deployer gem將存檔文件和應用程序部署到虛擬機。現在,當寶石試圖執行bundle exec rake db:migrate,我得到以下錯誤:bundler:不可執行文件:rake

bundler: not executable: rake 

現在,當我在供應商/束檢查/ JRuby中/ 1.9/bin目錄,耙和所有其他必要的可執行文件存在。我也試着運行通過當地的JRuby捆綁命令來安裝,以確保其正常調用,但我得到了相同的結果

/opt/jruby/bin/jruby -S bundle exec rake db:migrate 

有什麼建議?如果您需要更多信息,請詢問。

+0

那麼rake文件實際上標記爲可執行文件嗎?不知道你如何最終在這種情況下開始,但錯誤消息似乎是說'耙'本身就在那裏,但只是沒有標記的可執行文件(+ x)​​。 – James

+0

我很確定我檢查了權限,他們是rwxrxrx,但後來證實不好 – agmcleod

+0

啊,所以它看起來沒有設置爲可執行文件。這似乎每次我部署檔案文件,權限被重新設置爲讀取。在我的部署腳本中添加以確保它可以正確執行。 – agmcleod

回答

4

那麼rake文件是否真的標記爲可執行文件?

不知道如何在這種情況下開始,但錯誤消息似乎是說'耙'本身在那裏,但只是沒有標記的可執行文件(+ x)​​。

0

這是由於jar的「bug」。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6194856

我結束了創建用於固定權限我與torquebox調用單獨的紅寶石腳本:遠程:EXEC [「束EXEC jruby的路徑/到/腳本」]。

+0

是的,我也是這麼做的。後來我在遠程盒子上切換了一些東西來安裝寶石,就像在Capistrano部署MRI應用時所做的那樣。旋鈕中的供應商捆綁的轉移:部署對我來說太重了。 – agmcleod

1

如果同樣的問題將是軌道腳本文件的解決方案將是:

只需更新文件權限來執行。它爲我工作。

chmod 777 -R script/filename.rb 

乾杯!