Ruby on rails 3 在端口80启动webrick(mysql2 gem问题)

Ruby on rails 3 在端口80启动webrick(mysql2 gem问题),ruby-on-rails-3,permissions,gem,webrick,mysql2,Ruby On Rails 3,Permissions,Gem,Webrick,Mysql2,我想让我的webrick在80端口发球。我试过: rails server -p 80 但访问被拒绝。后来我了解到使用端口1-1024需要根权限,所以我尝试了这个方法 sudo rails server -p 80 但是,现在我得到了一个mysql2错误。我不知道这里发生了什么。我试着跑: rails server -p 1025 它工作得很好,我想这是关于root和mysql2的。有人能帮忙吗 以下是控制台中的错误消息: /Library/Ruby/Gems/1.8/Gems/mysql

我想让我的webrick在80端口发球。我试过:

rails server -p 80
但访问被拒绝。后来我了解到使用端口1-1024需要根权限,所以我尝试了这个方法

sudo rails server -p 80
但是,现在我得到了一个mysql2错误。我不知道这里发生了什么。我试着跑:

rails server -p 1025
它工作得很好,我想这是关于root和mysql2的。有人能帮忙吗

以下是控制台中的错误消息:

/Library/Ruby/Gems/1.8/Gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle:dlopen(/Library/Ruby/Gems/1.8/Gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle,9):未加载库:libmysqlclient.18.dylib(加载错误) 引用自:/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 from/Library/Ruby/Gems/1.8/Gems/mysql2-0.2.7/lib/mysql2.rb:8 from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in
require'
from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in
require' from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in
each'
from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in
require' from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in
each'
from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in
require' from/Library/Ruby/Gems/1.8/Gems/bundler-1.0.12/lib/bundler.rb:120:in
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
require' from/Library/Ruby/Gems/1.8/Gems/railties-3.0.6/lib/rails/commands.rb:28 from/Library/Ruby/Gems/1.8/Gems/railties-3.0.6/lib/rails/commands.rb:27:in
tap'
from/Library/Ruby/Gems/1.8/Gems/railties-3.0.6/lib/rails/commands.rb:27
从脚本/rails:6:in
require' 来自脚本/rails:6


mysql2 gem似乎没有安装在使用的ruby运行时中。然而,由于这在没有sudo的情况下适用,我怀疑您安装了rvm,并且在没有sudo的情况下使用rails时,您默认使用的是rvmruby(安装了mysql)。但是当你使用sudo时,你很可能使用的是没有安装mysql2的ruby系统

简而言之,如果您安装了rvm并且正在使用它。只需使用:

rvmsudo rails server -p 80

我使用的是rails服务器-p8080,它适合我

为什么不发布mysql错误?谢谢你的提醒!刚刚发布了错误,非常感谢!退房:谢谢龙虾1234!它起作用了!谢谢你的回答!但是,我没有在我的机器中使用rvm。我试图用sudo权限安装mysql2,但最终还是出现了错误消息。有什么想法吗?我的回答很难。你看过上面lobster1234发布的链接了吗?“库未加载:libmysqlclient.18.dylib(LoadError)”很可能是导致错误的原因。grate!也许你可以发布对你有用的东西作为这个问题的答案。这也适用于rails 2。rvmsudo脚本/服务器-p80。谢谢我尝试了这个方法,但是我得到了
地址已经在使用中-bind(2)for 0.0.0:80(Errno::EADDRINUSE)
错误。我该怎么办?