Ruby on rails 启动Rails服务器时发生Gem::LoadError

Ruby on rails 启动Rails服务器时发生Gem::LoadError,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,昨天我重新安装了Ubuntu12.04,在这个环境下我第一次使用Ruby/Rails,并直接从我的Windows机器上复制了这个项目。我安装了rubygems,然后将cd'd安装到项目目录,并运行了bundle安装,该安装没有任何错误 当尝试启动服务器时(rails s),服务器从未启动,我收到一个异常: /usr/lib/ruby/vendor\u ruby/1.8/rubygems/dependency.rb:247:in`to_specs':在[](Gem::LoadError)中找不到r

昨天我重新安装了Ubuntu12.04,在这个环境下我第一次使用Ruby/Rails,并直接从我的Windows机器上复制了这个项目。我安装了rubygems,然后将
cd
'd安装到项目目录,并运行了
bundle安装
,该安装没有任何错误

当尝试启动服务器时(
rails s
),服务器从未启动,我收到一个异常:

/usr/lib/ruby/vendor\u ruby/1.8/rubygems/dependency.rb:247:in`to_specs':在[](Gem::LoadError)中找不到railties(>=0)

从/usr/lib/ruby/vendor\u ruby/1.8/rubygems/dependency.rb:256:in
到_spec'
from/usr/lib/ruby/vendor\u ruby/1.8/rubygems.rb:1208:in
gem'
来自/usr/local/bin/rails:18

我的档案如下:

source 'http://rubygems.org'

gem 'rails', '3.2.6'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'
gem 'execjs'
gem 'therubyracer'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
gem 'devise'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

一切在很大程度上都是发电机留下的。谢谢。

也许,此错误是由rvm环境引起的

通过使用rvm,我们可以在特定的rails应用程序中使用特定的ruby和gems

尝试以下方法

rvm gemset create [gemset_name] cd ~/Documents/Programming/Web/threexortwo rvm use ruby-1.9.3-p[XXX]@[gemset_name] bundle install (not use sudo) rails -v (not use sudo) rails s (not use sudo) rvm gemeset创建[gemeset_名称] cd~/Documents/Programming/Web/threexortwo rvm使用ruby-1.9.3-p[XXX]@[gemeset_name] 捆绑安装(不使用sudo) rails-v(不使用sudo)
rails s(不使用sudo)终于让它工作了。对于任何想要完整shell日志的人,这里是:


问题是我相信版本。使用RVM时,必须将终端设置为以登录shell的形式运行命令。由于某种原因,一切都需要像sudo那样运行才能正常工作(我是Linux新手),所以我运行了
sudo gem install rails
,然后
sudo bundle install
,现在它似乎可以正常工作了。

你试过了吗<代码>bundle exec rails@at2c刚刚尝试过,返回。这也不应该是
:key
。不太清楚为什么它能在我的Windows机器上正常工作。在第10行,
…sion\u store:cookie\u store,key:“\u threexortwo\u session”
”key:xxx'是Ruby 1.9中的散列。但是,在日志中,我可以看到关键字“1.8”。在这两种环境中都使用哪个版本?我使用的是1.9.3,但我注意到当使用
rails-v
检查时,我得到了与问题中相同的错误。我用RVM重新安装了1.9.3,重置了别名,用
rails-v检查(工作),然后再次运行
sudo gem安装捆绑程序
sudo捆绑安装
。在此之后,我尝试重新运行服务器,但再次失败。Rain
rails-v
,我再次得到错误。在两个目录下的
rails-v
后面的消息是什么?然后在两个目录下尝试
哪个rails
。1) Rails应用程序根目录(2)从Rails应用程序(ex$home)中删除。这给了我一个提示,告诉我为什么会出现这个错误。我启动了一个新的终端,创建了一个新的rails gemset,开始使用新的gemset,然后创建了一个新的rails应用程序。然后我去了一个旧的终端,做了“rails服务器”,得到了错误。我启动了一个新的终端并运行了“rails服务器”,它成功了。