每次运行rake db:create
时,我都会注意到我必须运行“sudo gem install mysql”,但我没有root访问权限,技术支持告诉我他们不能为我这样做因为它在共享服务器上。
有关于此的任何解决方法吗?我现在没有选择更改托管的选项。
答案 0 :(得分:1)
看起来它无法找到构建原生扩展的MySQL库。您可以通过运行
找到安装了lib和包含的位置mysql_config --libs --include
会产生类似
的东西-rdynamic -L/usr/local/mysql/lib -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc
-I/usr/local/mysql/include
然后使用-L选项(mysql库的位置)和-I选项(mysql包含文件的位置),你可以像这样安装gem
gem install mysql -- --with-mysql-include=/usr/local/mysql/include --with-mysql-lib=/usr/local/mysql/lib
显然,您安装的路径会有所不同,但希望您明白这一点。
答案 1 :(得分:0)
如果你不是root用户,你的宝石将安装在你的家庭目录中 - 如果你用你的用户名运行你的应用程序,宝石就会从.gems目录加载。
答案 2 :(得分:0)
你不能只跑
gem install mysql
它们应该安装在用户的目录中。如果没有,请再次询问您的主人。如果问得好的话,我会安装任何常见的宝石。