【发布时间】:2012-12-14 15:28:54
【问题描述】:
- 捆绑器 v1.2.3
- RubyGems v1.8.24
- RVM(最新)
- 导轨 v3.2.9
我在我的 Rails 应用程序中使用 binstubs 和这些默认值 (~/bundle/config):
---
BUNDLE_PATH: .bundle
BUNDLE_BIN: .bundle/bin
然后我将 .bundle/bin 添加到 $PATH(通过 chwd 上的 zsh 脚本,所以这不是一个巨大的安全漏洞)所以我有正确的 gem 二进制文件可用。
除了两个问题之外,这基本上没问题。
问题 1
当我 cd 进入应用程序并输入 gem list 时,我会得到一个全局安装的 gems 列表(不是应用程序的 gems)。对于应用程序 gem,我需要输入 bundle exec gem list 并且它可以工作。我可以忍受。
问题 2
我无法安装任何本地(应用程序的本地)gem,它们位于捆绑包之外(即它们不在 Gemfile 中)。 gem-ctags gem 就是一个这样的例子。
理论上我可以将它安装到与所有其他本地 gem 相同的目录中:
gem install --install-dir .bundle/ gem-ctags
但是我没有办法使用它,就是输入这个命令:
☺ gem ctags
ERROR: While executing gem ... (RuntimeError)
Unknown command ctags
☹ bundle exec gem ctags
ERROR: While executing gem ... (RuntimeError)
Unknown command ctags
有没有办法让它工作?
PS:
- 当我将
gem-ctags安装到全局 gem 中,然后执行gem ctags时,它会正常工作) - 我知道 rubygems-bundler,但我宁愿只让 binstubs 工作而不是使用它(除非没有其他方法......)
更新
问题 3
gem cleanup 不起作用,即使我的 $GEM_PATH 设置正确(如 @mpapis 建议的那样):
☺ gem cleanup
Cleaning up installed gems...
Attempting to uninstall rake-10.0.0
Unable to uninstall rake-10.0.0:
Gem::InstallError: gem "rake" is not installed
Attempting to uninstall ffi-1.1.5
Unable to uninstall ffi-1.1.5:
Gem::InstallError: gem "ffi" is not installed
Attempting to uninstall dalli-2.2.1
Unable to uninstall dalli-2.2.1:
Gem::InstallError: gem "dalli" is not installed
Clean Up Complete
当我输入 gem install 时,我可以看到所有这些 gem 都已安装。
【问题讨论】:
标签: ruby-on-rails-3 rubygems rvm bundler