在cygwin和powershell中看到不同的gem列表
我在powershell和cygwin中使用了gem list
命令,并且都显示了不同的gem列表。 Cygwin表示
*** LOCAL GEMS *** bundler (1.2.3) json (1.7.5) minitest (2.12.1) rake (0.9.2.2) rdoc (3.12)
在powershell中,我看到:
*** LOCAL GEMS *** io-console (0.3) json (1.5.4) minitest (2.5.1) rake (0.9.2.2) rdoc (3.9.4) sass (3.2.1)
因此,同一gem的版本也有两种不同。
为什么会这样? 此外,我在使用rails时遇到bundle install
问题(在Cygwin和Powershell中都是int)。 可能是因为这个吗?
如何确保gem的一致性? 不通过Powershell / cygwin安装gem使其可用于整个系统?
因此,我想安装一个新的Gems和Rails副本,这些副本在Powershell和cygwin中是一致的。 我怎么做?
在cygwin中运行gem environment
给出了:
RubyGems Environment: - RUBYGEMS VERSION: 1.8.23 - RUBY VERSION: 1.9.3 (2012-11-10 patchlevel 327) [i386-cygwin] - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1 - RUBY EXECUTABLE: /usr/bin/ruby.exe - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - x86-cygwin - GEM PATHS: - /usr/lib/ruby/gems/1.9.1 - /cygdrive/c/SPB_Data/.gem/ruby/1.9.1 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/
并在Windows PowerShell中它给出:
RubyGems Environment: - RUBYGEMS VERSION: 1.8.23 - RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [i386-mingw32] - INSTALLATION DIRECTORY: C:/Ruby193/lib/ruby/gems/1.9.1 - RUBY EXECUTABLE: C:/Ruby193/bin/ruby.exe - EXECUTABLE DIRECTORY: C:/Ruby193/bin - RUBYGEMS PLATFORMS: - ruby - x86-mingw32 - GEM PATHS: - C:/Ruby193/lib/ruby/gems/1.9.1 - C:/SPB_Data/.gem/ruby/1.9.1 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/
我只能根据你给出的信息来猜测,但听起来你在cygwin和windows中安装了一个单独版本的ruby。
告诉我们发生了什么的简单方法是在两个shell中执行ruby -v
和gem environment
,这将告诉您正在使用哪个ruby版本,以及ruby认为它正在使用的版本,以及Rubygems寻找gem的位置。
为了确保Windows上gem的一致性,我建议安装一个ruby并使用Bundler通过Gemfile维护你的gem。 删除你通过cygwin安装的ruby,并确保你使用的ruby在两个环境中是相同的(尝试ruby -v
)
但是,我不确定您为什么会根据您提供的信息收到捆绑包错误。
更新后编辑
所以你肯定安装了两个不同版本的ruby,每个版本都有自己独特的gem。 你不能在cygwin中使用windows版本,所以我要做的就是卸载cygwin版本(使用cygwin setup.exe来执行此操作!如果你没有它,请从cygwin网站再次下载。你可以指明要移除的软件包以及添加)并确保/cygdrive/c/ruby193/bin
在您的cygwin路径中,以便which ruby
和which gem
指向此目录。