当我跑步时
rails server
我收到了错误。
加载gemsets时存在一些问题
$rvm list
rvm rubies
ruby-1.9.3-p484 [ i686 ]
ruby-2.0.0-p353 [ i686 ]
=* ruby-2.1.0 [ i686 ]
# => - current
# =* - current && default
# * - default
$ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]
$rails -v
Your Ruby version is 1.9.3, but your Gemfile specified 2.1.0
$bundle show rails
/home/prasad/.rvm/gems/ruby-2.1.0/gems/rails-4.0.1
$bundle exec rails s
Your Ruby version is 1.9.3, but your Gemfile specified 2.1.0
bundle exec ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [i686-linux]
我做了bundle install
并试图启动rails服务器,但它给出了同样的错误。
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
source 'https://rubygems.org'
ruby '2.1.0'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.1'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '2.3.1'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# Use jquery as the JavaScript library
gem 'jquery-rails', '3.0.4'
gem 'haml', '4.0.4'
gem 'actionpack-page_caching', '1.0.2' #use caches_pages in rails 4
gem 'twitter'
gem 'mina'
group :production do
gem 'dalli', '2.6.4'
gem 'therubyracer'
end
group :test do
gem 'watir-rails'
end
group :staging do
gem 'rails_12factor'
end
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
更新
我尝试重新启动计算机,但它没有解决问题。
答案 0 :(得分:7)
问题在于您的PATH
环境变量,它必须与GEM_PATH
匹配,而在您的情况下则不然。要修复它,请运行:
rvm get stable --auto-dotfiles
这将更新您的shell初始化文件并确保正确加载rvm。然后打开一个新终端(关闭应用程序并再次打开它),然后运行:
rvm use 2.1.0
在这两个步骤中,阅读打印给您的所有消息。它们很重要,包含有关如何解决问题的信息。如果不能或不应该自动修复RVM,RVM会检测到问题并尝试修复它们或向您发出警告。
答案 1 :(得分:3)
我有一个类似的问题,并使用@mpapis建议,修复我的$PATH
和rvm加载。
但是我必须运行gem install bundler
来更新bundler并让它再次识别我当前的ruby版本。
答案 2 :(得分:0)
我建议在项目的顶级目录中使用.ruby-version
文件。该文件将包含您Gemfile
中指定的ruby版本,例如
2.1.0
这显然是现在规范版本的交叉{rbenv,rvm}
方式。