2014-10-10 87 views
1

我在項目中使用rvm和ruby 2.1.0。如何在使用Gemfile的項目中使rvm找到全局二進制文件?

$~/ rvm version 
rvm 1.25.33 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/] 

$~/ ruby -v 
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0] 

我想用dotenv寶石在該項目中,但我不希望在該項目中的Gemfile中創業板。所以我安裝了它在全球範圍,我可以在外面用它我的項目:

$~/ gem install dotenv 
$~/ touch .env 
$~/ dotenv echo "works" 
works 

的問題是,一旦我進入我的項目(或具有Gemfile中的任何文件夾)的RubyGems說dotenv「無法找到」 :

$~/ cd my-project 
$my-project/ touch .env 
$my-project/ dotenv echo "can not find dotenv" 
/Users/kikito/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'dotenv' (>= 0) among 8 total gem(s) (Gem::LoadError) 
    from /Users/kikito/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec' 
    ... 

當我刪除的Gemfile,dotenv再次工作:

$my-project/ rm Gemfile 
$my-project/ dotenv echo "dotenv works again as soon as I remove the Gemfile" 
dotenv works again as soon as I remove the Gemfile 

我使用在Mac上的zsh。我的.zshrc似乎是確定(RVM沒有關於未配置的路徑或任何投訴)

# ~/.zshrc 
source $ZSH/oh-my-zsh.sh 
... 
PATH=$PATH:/usr/local/go/bin:$GOBIN # Add golang binaries 
PATH=$PATH:/usr/local/share/npm/bin # Add node binaries path 
PATH=$PATH:/usr/X11/bin # Add xquartz to path, so xvfb is detected 
... 
# RVM 
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting 

這裏的output of rvm info的情況下,它幫助。這是my-project內外的相同輸出。

這是一個普通的rvm的東西,還是我有一些missconfiguration?我可以做這個工作,還是我必須在Gemfile上加上dotenv?

回答

1

這可能是由於rubygems-bundler,RVM默認安裝。嘗試運行

$ NOEXEC_DISABLE=1 dotenv echo "whatever" 

如果這樣的作品,你可以做export NOEXEC_EXCLUDE="dotenv"停止dotenv從唱捆紮機所有的時間。

+0

這樣做!非常感謝 – kikito 2014-10-10 10:59:27

相關問題