我在一个项目中使用 rvm 和 ruby 2.1.0。
$~/ rvm version
rvm 1.25.33 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
$~/ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0]
我想dotenv
在那个项目中使用 gem,但我不想在项目的 gemfile 中有那个 gem。所以我全局安装了它,我可以在我的项目之外使用它:
$~/ 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
这是以防万一的输出。rvm info
内部和外部的输出相同my-project
。
这是一个常规的 rvm 事情,还是我有一些配置错误?我可以完成这项工作,还是必须将 dotenv 放在 Gemfile 上?