繁体   English   中英

脚本/控制台不起作用; 报告“缺少Rails宝石。 即使rails显示为已安装,也请`gem install -v = rails ......”

[英]script/console won't work; reports “Missing the Rails gem. Please `gem install -v= rails`…” even though rails shows as installed

我正在尝试学习RoR,并且运行脚本/控制台失败,返回:

加载开发环境(Rails 2.3.5)缺少Rails gem。 请使用gem install -v= rails ,更新config / environment.rb中的RAILS_GEM_VERSION设置以获取已安装的Rails版本,或注释掉RAILS_GEM_VERSION以使用最新安装的版本。

gem listsudo gem list显示已安装的rails(2.3.5)。 此外,脚本/服务器工作正常。 我发现一些消息源表明问题可能出在机架(1.1.0)上,所以我恢复为1.0.1,但没有帮助。

我很喜欢你们提出的任何建议,因为即使到目前为止我只看过简短的内容,我也确实想学习RoR。

编辑:@ zed_0xff:

好的,这是./script/console --trace的结果:

/usr/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: --trace (OptionParser::InvalidOption)
    from /usr/lib/ruby/1.8/optparse.rb:1448:in `catch'
    from /usr/lib/ruby/1.8/optparse.rb:1448:in `complete'
    from /usr/lib/ruby/1.8/optparse.rb:1261:in `parse_in_order'
    from /usr/lib/ruby/1.8/optparse.rb:1254:in `catch'
    from /usr/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
    from /usr/lib/ruby/1.8/optparse.rb:1248:in `order!'
    from /usr/lib/ruby/1.8/optparse.rb:1339:in `permute!'
    from /usr/lib/ruby/1.8/optparse.rb:1360:in `parse!'
    from /var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/console.rb:11
    from /usr/lib/ruby/1.8/optparse.rb:791:in `initialize'
    from /var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/console.rb:6:in `new'
    from /var/lib/gems/1.8/gems/rails-2.3.5/lib/commands/console.rb:6
    from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from ./script/console:3

这是rake db:migrate --trace的结果:

(in /home/carpdiem/Dropbox/programming/ruby/rails_projects/demo_app)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment 
** Execute db:schema:dump

有帮助吗?

编辑2:@ zed_0xff:

rake gems

`(在/ home / carpdiem / Dropbox / programming / ruby​​ / rails_projects / demo_app中)

I =已安装F =冻结R =框架(在Rails启动之前加载)

config / environment.rb:

`需要File.join(File.dirname( File ),'boot')

Rails :: Initializer.run做| config | config.time_zone ='UTC'结束`

编辑#3:我解决了! 听起来好像有一些复杂的依赖关系问题存在。 遵循来自此处的建议: http : //docs.heroku.com/rails236升级到Rails 2.3.8似乎已解决了该问题。 script/console现在可以正确启动。

尝试运行./script/console --tracerake db:migrate --trace ,rake命令也可能会失败,但是--trace开关可以为您的应用程序失败提供有价值的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM