1

目前我想将 redmine 1.4.0 升级到最新版本 2.0.2。

所以我按照这个页面上的howto:

http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade

简而言之,我下载了 redmine-source 并将其解压缩到一个单独的文件夹
“/var/www/redmine-2.0.2”中(而我的工作安装在 /var/www/redmine 中)。

直到步骤 3.5 一切正常,但在 3.6 中发生以下情况:

root(at)information:/var/www/redmine-2.0.2# rake config/initializers/session_store.rb
rake aborted!
Don't know how to build task 'config/initializers/session_store.rb'

(See full trace by running task with --trace)

root(at)information:/var/www/redmine-2.0.2# rake --trace     
config/initializers/session_store.rb
rake aborted!
Don't know how to build task 'config/initializers/session_store.rb'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/task_manager.rb:49:in `[]'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-   
0.9.2.2/lib/rake/application.rb:115:in `invoke_task'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake   - 
0.9.2.2/lib/rake/application.rb:94:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake- 
0.9.2.2/lib/rake/application.rb:88:in `top_level'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/application.rb:66:in `block in run'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-
0.9.2.2/lib/rake/application.rb:63:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/bin/rake:33:in `<top 
(required)>'
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/rake:19:in `load'
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/rake:19:in `<main>'
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
root(at)information:/var/www/redmine-2.0.2#

root(at)information:/var/www/redmine-2.0.2# rake --trace generate_session_store
Invoke generate_session_store (first_time)
Invoke generate_secret_token (first_time)
Invoke config/initializers/secret_token.rb (first_time)
Execute config/initializers/secret_token.rb
Execute generate_secret_token
Execute generate_session_store
Note: The rake task generate_session_store has been deprecated, please use the         
replacement version generate_secret_token
root(at)information:/var/www/redmine-2.0.2#

root(at)information:/var/www/redmine-2.0.2# rake generate_session_store

Note: The rake task generate_session_store has been deprecated, please use the 
replacement version generate_secret_token

root(at)information:/var/www/redmine-2.0.2# rake --trace generate_secret_token
Invoke generate_secret_token (first_time)
Invoke config/initializers/secret_token.rb (first_time, not_needed)
Execute generate_secret_token

这最后一步似乎生成了“/var/www/redmine-2.0.2/config/initializers/secret_token.rb”,并且根据它的方法,它足以替代之前的“rake-commands”。

root(at)information:/var/www/redmine-2.0.2# 
root(at)information:/var/www/redmine-2.0.2# rake db:migrate RAILS_ENV=production 
root(at)information:/var/www/redmine-2.0.2# rake tmp:cache:clear
root(at)information:/var/www/redmine-2.0.2# rake tmp:sessions:clear 

我的第一个问题是如何启动应用程序。我仍然可以转到我的旧安装“/var/www/redmine”并从

ruby ./script/server -e production &

仍然有效,输出为:

/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-
2.3.14/lib/active_support/inflector.rb:3:in `<top (required)>': iconv will be deprecated  
in the future, use String#encode instead.
=> Booting Mongrel
=> Rails 2.3.14 application starting on http://0.0.0.0:3000
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after     
2011-11-01.
Gem.source_index called from /usr/local/rvm/gems/ruby-1.9.3-p194/gems/rails-
2.3.14/lib/rails/gem_dependency.rb:21.
=> Call with -d to detach
=> Ctrl-C to shutdown server

但是我无法通过转到新文件夹“/var/www/redmine-2.0.2/”并调用

ruby ./script/server -e production &

因为没有文件

"/var/www/redmine-2.0.2/script/server".

如何启动 redmine 的更新版本或尚无法启动?我认为 redmine 2.0.2 需要 rails 3.2.5 并且我认为我安装了它,因为:

root(at)information:/var/www/redmine-2.0.2/script# rails -v
Rails 3.2.5
root(at)information:/var/www/redmine-2.0.2/script#

根据上面的引导协议,Rails 使用的是 2.3.14。错误的 ?

我的错误是什么?有人可以建议如何成功升级吗?

提前感谢您的帮助!

干杯,

安斯加尔

4

1 回答 1

1

bundle exec rails s -d -e production通过使用默认端口(即3000)在后台启动应用程序来解决它。

更新

如果您打开一个新的 shell 并运行,这似乎是一个 RVM 问题:

$ type rvm | head -1

没有显示“rvm 是一个函数”,RVM 的来源不正确。

确保 RVM 在任何路径设置之后作为 RVM 获取并操作路径。如果您不这样做,RVM 可能无法按预期工作。

于 2012-06-12T09:37:02.767 回答