我正在尝试在端口80中获得我的webrick服务。我试着:
rails server -p 80
但是访问被拒绝。后来我了解到使用端口1-1024需要root权限,所以我尝试使用
sudo rails server -p 80
然而,现在我得到一个mysql2错误。不知道这里发生了什么。我试着运行:
rails server -p 1025
,它工作得很好,我想这是关于root和mysql2。有人能帮忙吗?
下面是控制台的错误信息:
/图书馆/Ruby/珠宝/1.8/珠宝/mysql2-0.2.7/lib/mysql2/mysql2。包:dlopen(/图书馆/Ruby/珠宝/1.8/珠宝/mysql2-0.2.7/lib/mysql2/mysql2。libmysqlclient.18. bundle, 9): Library not loaded: libmysqlclient.18。dylib (LoadError)引用自:/Library/Ruby/Gems/1.8/Gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle-/Library/Ruby/Gems/1.8/Gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle从/图书馆/Ruby/珠宝/1.8/珠宝/mysql2-0.2.7/lib/mysql2.rb: 8从/图书馆/Ruby/珠宝/1.8/珠宝/bundler-1.0.12/lib/打包机/运行时。rb:68:在
require' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in
要求'从/图书馆/Ruby/珠宝/1.8/珠宝/bundler-1.0.12/lib/打包机/运行时。rb:66:在each' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in
要求'从/图书馆/Ruby/珠宝/1.8/珠宝/bundler-1.0.12/lib/打包机/运行时。rb:55:在each' from /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in
要求'从/图书馆/Ruby/珠宝/1.8/珠宝/bundler-1.0.12/lib/打包机。rb:120:在require' from /Users/ccool2486/Sites/fs2_test/config/application.rb:7 from /Library/Ruby/Gems/1.8/gems/railties-3.0.6/lib/rails/commands.rb:28:in
需要'从/图书馆/Ruby/珠宝/1.8/珠宝/railties-3.0.6/lib/铁路/commands.rb: 28从/图书馆/Ruby/珠宝/1.8/珠宝/railties-3.0.6/lib/rails命令。rb:27:在tap' from /Library/Ruby/Gems/1.8/gems/railties-3.0.6/lib/rails/commands.rb:27 from script/rails:6:in
要求从脚本/rails: 6
似乎mysql2 gem没有安装在使用的ruby运行时中。然而,由于这适用于您没有sudo,我怀疑您已经安装了RVM,并且在没有sudo的情况下启动rails时默认使用RVM ruby(其中安装了mysql)。但是当你使用sudo时,你很可能使用的是没有安装mysql2的系统ruby。
简而言之,如果你安装了RVM并且正在使用它。只使用:
rvmsudo rails server -p 80
我使用rails server -p 8080,它为我工作