Redmine是用Ruby实现的,是一个比较成熟的项目管理功能B/S软件。
因为是Ruby,所以Redmine比较适合架在linux服务器上,但是由于之前为了兼容.NET网站程序,弄了一台Windows服务器,就只能勉为其难的在Windows里面架设了。
之前从来没接触过Ruby,对其环境完全不懂,架设过程很是辛酸 (:<)
我是通过RailsInstall2.2.1(CSDN有下载)来架设Ruby环境的,机子上原来装了XAMPP1.8.3(里面的MySQL5.6)来,主要遇到的问题都是和MySQL有关的:
1.MySQL2的安装问题
2.MySQL数据库写入问题
下面来一个一个地进行阐述。
1.MySQL2的安装问题
bundle install –without development test rmagick
以下是执行结果:
checking for ruby/thread.h… no
checking for rb_thread_blocking_region()… yes
checking for rb_wait_for_single_fd()… yes
checking for rb_hash_dup()… yes
checking for rb_intern3()… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lm… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lz… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lsocket… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lnsl… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lmygcc… no
checking for mysql_query() in -lmysqlclient… no…………
An error occurred while installing mysql2 (0.3.16), and Bundler cannot continue.
Make sure that
gem install mysql2 -v '0.3.16'
succeeds before bundling.
这个是mysql2没有安装好,我的是装的xampp,所以我要通过以下命令安装:
gem install mysql2 — –with-mysql-dir=d:\xampp\mysql
以下是执行结果:
Temporarily enhancing PATH to include DevKit…
Building native extensions. This could take a while…
Successfully installed mysql2-0.3.16
1 gem installed
Installing ri documentation for mysql2-0.3.16…
Installing RDoc documentation for mysql2-0.3.16…
另外请注意:装完MySQL2,还需要把d:\xampp\mysql\bin\下的libmysql.dll拷贝到d:\railsinstaller\ruby1.9.3\bin下!
2.MySQL数据库写入问题
在装好MySql2后,执行下面的命令时又来问题了:
RAILS_ENV=production rake db:migrate
以下是执行结果:
- — create_table(“attachments”, {:force=>true})
> 0.1653screate_table(“auth_sources”, {:force=>true})
-
> 0.0147screate_table(“custom_fields”, {:force=>true})
-
> 0.0073screate_table(“custom_fields_projects”, {:id=>false, :force=>true})
-
> 0.0052screate_table(“custom_fields_trackers”, {:id=>false, :force=>true})
-
> 0.0054screate_table(“custom_values”, {:force=>true})
-
> 0.0060screate_table(“documents”, {:force=>true})
-
> 0.0053sadd_index(“documents”, [“project_id”], {:name=>”documents_project_id”})
-
rake aborted!
An error has occurred, all later migrations canceled:Mysql2::Error: xxx: CREATE INDEX
documents_project_id
ONdocuments
(project_id
)d:/railsinstaller/ruby-1.9.3-p484/gems/activerecord-3.2.15/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:xxx…………
这个问题相当纠结,我把 CREATE INDEX documents_project_id
ON documents
(project_id
)放到phpmyadin里执行也是出错,我把所有的add_index注释掉,到后面INSERT INTO插入初始数据的时候又是出错:
后面发现一篇文章说是MySQL里设置成不可写入了,不知道为什么会突然这样,真是有点纳闷。
具体设置是在d:\xampp\mysql\bin\my.ini约150行:
把innodb_force_recovery 设置为 0,然后重启MySQL再执行RAILS_ENV=production rake db:migrate即可
其他可以供参考的网址有:
Redmine官方
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
除特别声明为转载内容外,本站所有内容均为作者原创,谢绝任何单位和个人不经许可的复制和转播!
对于确有转载需要的,请先与作者联系,在获得允许后烦请在转载时保留文章出处。
本文出自Lupin's Blog:http://www.cnzui.com/archives/1176