2012-10-11 35 views
0

在IDea 11.1.3 Build-IU#117.798中,嘗試使用Ruby插件在使用Rails 3.2.8的項目中運行規範, ruby 1.9.3p194(2012-04-20修訂版35410)[x86_64-darwin11.4.0]。相同路徑下的psql和pg_dump在從IntelliJ IDea運行時返回Rakefile中的不同版本信息

我認爲它與安裝在OS X Lion Server(10.7.5)上的postgres的自制版本有關,這是我在OS X服務器版本pg之前的路徑中安裝的。

在Terminal.app:

$ whereis pg_dump 
/usr/bin/pg_dump 
$ pg_dump -V 
pg_dump (PostgreSQL) 9.1.3 
$ psql -V 
psql (PostgreSQL) 9.1.3 
contains support for command-line editing 
$ /path/to/home/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e 'puts "#{`pg_dump -V`}"' 
pg_dump (PostgreSQL) 9.1.3 
$ /path/to/home/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e 'puts "#{`psql -V`}"' 
psql (PostgreSQL) 9.1.3 
contains support for command-line editing 

如果我加入到我的Rake文件:

raise "whereis pg_dump = #{`whereis pg_dump`}, pg_dump -V = #{`pg_dump -V`}, psql -V = #{`psql -V`}" 

在想法,當我運行 - >調試 - >規格這是在顯示控制檯:

/path/to/home/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /path/to/home/.rvm/gems/[email protected]_project/gems/ruby-debug-ide-0.4.17.beta14/bin/rdebug-ide --port 51515 -- /path/to/home/.rvm/gems/[email protected]/bin/rake spec 
Testing started at 10:59 AM ... 
Fast Debugger (ruby-debug-ide 0.4.17.beta14, ruby-debug-base 0.11.30.pre10) listens on 127.0.0.1:51515 
rake aborted! 
whereis pg_dump = /usr/bin/pg_dump 
, pg_dump -V = pg_dump (PostgreSQL) 9.0.5 
, psql -V = psql (PostgreSQL) 9.0.5 

(See full trace by running task with --trace) 

Process finished with exit code 137 

任何想法爲什麼它會得到一個不同版本的二進制文件在同一路徑?

回答

1

PATH在RubyMine和Terminal中是不同的。爲了讓同一個運行的RubyMine從終端:

open -a /Applications/RubyMine.app/ 

另一種選擇是在RubyMine的運行/調試配置,以指定PATH

相關主題:

+0

謝謝!兩種解決方案都適用於我。在IDea中,'open -a/Applications/IntelliJ \ IDEA \ 11.app /'修復了它,或者運行 - >編輯配置 - >(Rake/spec),並且爲了讓brew postgres工作,請單擊...環境變量,單擊+並添加值爲'/ usr/local/bin:/ usr/local/sbin:$ PATH'的PATH,單擊確定,然後單擊應用並確定。非常感謝! –

相關問題