为了将我的本地 SQLite3 数据库推送到 Heroku,我安装了 pik 以便我可以使用 ruby -v 192。(我遇到了时区错误,其他帖子表明这可能是由于使用了 ruby 版本 193)。
我按照 github 上的说明进行操作: http ://rubyonwindowsguides.github.com/book/ch02-03.html
我现在可以在 v 193 和 v192 之间切换,并且捆绑安装了我知道的必要 gem,包括 pg (0.12.2 x86-mingw32) 和 taps (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 文件夹中而不是在 c:/ 中安装了 v192 的初始路径。我能做些什么来解决这个问题?
我的相关文件按照 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 $@
[[ -s $USERPROFILE/.pik/pik.sh ]] && source $USERPROFILE/.pik/pik.sh
unset GEM_HOME
unset GEM_PATH
}
配置.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
我仍然不确定所有这些文件是如何相互连接的,或者它们中的每一个究竟是做什么的,所以不确定要更改或移动哪些文件。
在此先感谢您的帮助!!