我已经安装了rvm和ruby 1.9.2,两者都正常工作.使用rvm版本1.10.2.我之前安装了rvm软件包readline/zlib,但现在我现在遇到了readline的大麻烦.我正在尝试在rvm中安装ruby 1.9.3,但我总是找不到readline.
我试着遵循不同的解决方案:
rvm remove 1.9.3
rvm pkg install readline
rvm install 1.9.3 --with-readline-dir=$rvm_path/usr/ \
--with-zlib-dir=$rvm_path/usr/
rvm use 1.9.3
rvmsudo gem install bundler
bundle install (all gems installed fine)
rails c / rails s
.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `require': \
cannot load such file -- readline (LoadError)
Run Code Online (Sandbox Code Playgroud)
我安装了libreadline-dev(版本6,当前版本)(这些软件包所需的一切)
我也尝试过以下方法:
.rvm/src/ruby-1.9.3-p0/ext/readline]$ ruby extconf.rb
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for readline() in -lreadline... no
checking for readline() in -ledit... no …
Run Code Online (Sandbox Code Playgroud) 当我想执行Rails 3控制台时,它抛出这个:
$ script/rails c
/usr/local/rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (Load Error)
Run Code Online (Sandbox Code Playgroud)
我试着安装libreadline-dev
:
$ sudo wajig install libreadline-dev
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
libncurses5-dev libreadline6-dev
Se instalarán los siguientes paquetes NUEVOS:
libncurses5-dev libreadline-dev libreadline6-dev
0 actualizados, 3 se instalarán, 0 para eliminar y 6 no actualizados.
Necesito descargar 1799kB de archivos.
Se utilizarán 7266kB de espacio de disco …
Run Code Online (Sandbox Code Playgroud) 我将更新推送到我的Rails应用程序生产服务器,并在更新中有一个新的数据库迁移.我跑rake db:migrate
了,看到了这里看到的常见错误.我再次跑了耙子bundle exec bash
,它成功了.但重新启动我的apache服务器后,我现在收到了500错误页面.此更新在我的本地主机上运行良好,主要是对数据库的此更新,并在根视图和控制器/路由中支持更改.
我甚至不知道为什么这次出现这个错误,因为我在使用之前已经成功推送了db更新rake
.尽管如此,耙子还是成功的.500错误页面仅显示在需要特定新ActiveRecord的页面上.关于如何调试的任何想法?
编辑:我的问题非常简单.我只是忘了用耙子包括环境:
bundle exec rake db:migrate RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)
不幸的是,为了缩小范围,需要花费很长时间,因为在我按照这些步骤操作之前,我无法使用IRB来检查数据库条目.