使用ubuntu 10.04,rvm。首先,我已经安装了带有rvm、gem rails的ruby 1.9.2,并生成了一些新项目并成功启动。一切都运行得很好。但在切换到另一个项目后,执行bundle install命令(输出看起来正常)并启动rails服务器-出现错误:
rails %s
/home/jacek/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/site_ruby/1.9.1/rubygems.rb:316:in `bin_path': can't find gem rails ([">= 0"]) with executable rails (Gem::GemNotFoundException)
from /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin/rails:19:in `<main>'gem列表rails
*** LOCAL GEMS ***
rails (3.2.2)gem环境
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.18
- RUBY VERSION: 1.9.2 (2012-02-14 patchlevel 318) [i686-linux]
- INSTALLATION DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318
- RUBY EXECUTABLE: /home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin/ruby
- EXECUTABLE DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/jacek/.rvm/gems/ruby-1.9.2-p318
- /home/jacek/.rvm/gems/ruby-1.9.2-p318@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/我的路径(包括可执行目录: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin )
/home/jacek/.rvm/gems/ruby-1.9.2-p318/bin:/home/jacek/.rvm/gems/ruby-1.9.2-p318@global/bin:/home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin:/home/jacek/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games如果有任何帮助,我将不胜感激
发布于 2012-03-14 03:43:10
如果您使用命令bundle install从GEMFILE上安装gem,它会将gem安装到gem的默认系统位置,如the bundler docs here中所述。在此之后,您可以使用捆绑包bundle exec命令在捆绑包as outlined in the docs here的上下文中执行命令。这将确保执行您使用bundle install安装的gem版本。
如果您查看homepage for bundler,它提供了文档的概述,它说明了以下内容:
在某些情况下,如果系统中恰好安装了可执行文件,并且没有引入任何与捆绑包冲突的gem,则在没有捆绑包执行的情况下运行可执行文件可能会起作用。
然而,这是不可靠的,并且是相当痛苦的根源。即使它看起来可以工作,它可能在将来或在另一台机器上也不能工作。
我猜您在控制台中运行gem which rails,然后在控制台中运行bundle show rails,那么为您的系统安装的默认rails安装与为您的包安装的rails安装是不同的。
您说您正在使用rvm进行ruby和gem管理。我在想你可能没有正确地配置它。尝试在控制台中执行rvm notes命令,以确保您已经完成了在操作系统上安装所需/建议的所有步骤。理想情况下,当您运行echo $PATH时,您希望确保rvm的可执行文件是path中的第一个文件。这将确保为rvm安装的gem将是您尝试在没有bundle exec前缀的情况下执行它们的gem。如果rvm notes没有为您提供完成此任务所需的提示,请尝试仔细查看docs for installation on the RVM website。
发布于 2014-10-28 06:07:04
对我来说,刚刚安装了bundler。这会让一切都恢复正常。
gem install bundler --no-ri --no-rdoc发布于 2017-04-12 23:00:21
例如,您可以使用$ rvm use --default 2.4.0在Ruby语言之间切换版本
但是对于你的问题,试试这个:
$ gem install bundler$ gem install rails 希望它能帮上忙!
https://stackoverflow.com/questions/9686052
复制相似问题