我正在尝试让我的 webrick 在端口 80 上提供服务。我尝试过:
rails server -p 80
但访问被拒绝。后来我明白使用端口1-1024需要root权限,所以我尝试了这个
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.捆绑包,9):未加载库: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
来自/Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2.rb:8
来自 /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:inrequire'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in
要求'
来自 /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:ineach'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in
要求'
来自 /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:ineach'
from /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in
要求'
来自 /Library/Ruby/Gems/1.8/gems/bundler-1.0.12/lib/bundler.rb:120:inrequire'
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
要求'
来自/Library/Ruby/Gems/1.8/gems/railties-3.0.6/lib/rails/commands.rb:28
来自 /Library/Ruby/Gems/1.8/gems/railties-3.0.6/lib/rails/commands.rb:27:intap'
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 的情况下午餐时默认使用 rvm ruby(安装了 mysql)。但是当你执行 sudo 时,你很可能使用的是没有安装 mysql2 的系统 ruby。
简而言之,如果您安装了 RVM 并且正在使用它。只需使用:
rvmsudo rails server -p 80
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)