2012-06-25 30 views
0

爲了將我的本地SQLite3數據庫推送到Heroku,我安裝了pik,以便我可以使用ruby -v 192.(我得到一個時區錯誤,並且其他帖子提示這可能是由於使用Ruby版本193)。pik,ruby庫和git bash的正確路徑

我跟着GitHub上的指示: http://rubyonwindowsguides.github.com/book/ch02-03.html

我現在可以到v 193和v192之間進行切換,並有捆綁安裝了必要的寶石我所知道的,包括PG(0.12.2基於x86 mingw32)和水龍頭(0.3.24)。

當我在v193中時,一切都很好。

然而,在v192,當我嘗試運行:

Heroku run rake db:migrate 

Heroku db:push 

...我得到一個錯誤頁,上面寫着:

Running 'rake db:migrate' attached to terminal... up, run.1 
bash: bin/bundle: c:/Users/umezo/.pik/rubies/Ruby-192-p290/bin/ruby.exe: bad interpreter: No such file or directory 

這似乎就像路徑問題一樣,因爲我的Ruby庫位於c:/中,而不是c:/Users/Umezo/.pik。我想我可能在.pik文件夾中安裝了v192的初始路徑,而不是在c:/中。我能做些什麼來解決這個問題?

我的有關文件被保存爲建議在github上說明:分別

c:/Ruby192 
c:/Ruby193 
c:/tools/pik.bat 
c:/tools/pik.ps1 
c:/tools/pik_runner.exe 
c:/Users/umezo/.bashrc 
c:/Users/umezo/.pik/.pikrc 
c:/Users/umezo/.pik/config.yml 

,文件內容爲:

.pikrc

#!/bin/sh 
pik_path=/c/tools 
function pik { 
    $pik_path/pik_runner.exe pik.sh [email protected] 
    [[ -s $USERPROFILE/.pik/pik.sh ]] && source $USERPROFILE/.pik/pik.sh 
    unset GEM_HOME 
    unset GEM_PATH 
} 

config.yml

--- 
"192: ruby 1.9.2p290 (2011-07-09) [i386-mingw32]": 
    :path: !ruby/object:Pathname 
    path: C:/Ruby192/bin 

"193: ruby 1.9.3p0 (2011-10-30) [i386-mingw32]": 
    :path: !ruby/object:Pathname 
    path: C:/Ruby193/bin 
--- {} 

.bashrc中

[[ -s $USERPROFILE/.pik/.pikrc ]] && source $USERPROFILE/.pik/.pikrc 
unset GEM_HOME 
unset GEM_PATH 

我仍然不知道如何將所有這些文件都相互連接,或究竟他們每個人做,所以我不知道哪些文件修改或移動。

在此先感謝您的幫助!

+0

'heorku run'在heroku平臺上運行一個遠程過程。 heroku平臺在Linux上運行而不是Windows。 – Will

+0

謝謝。你爲什麼認爲「heroku運行rake db:migrate」給了我「沒有解釋器」的錯誤信息? Heroku日誌顯示「錯誤:沒有這樣的文件或目錄 - 捆綁exec rails服務器。」本地「rake db:migrate」完成,沒有問題(我可以說)。另外,我可以通過直接輸入「bundle exec rails server」成功連接到本地服務器 – umezo

+0

其他'heroku'命令是否工作?像'heroku幫助' – Azolo

回答

0

我從來沒有想出這個問題的根源,所以最終重新安裝我的紅寶石安裝。現在它工作正常!