如果我没有root访问权限来执行gem install mysql,我该怎么办?

时间:2009-07-30 17:43:07

标签: ruby-on-rails

每次运行rake db:create时,我都会注意到我必须运行“sudo gem install mysql”,但我没有root访问权限,技术支持告诉我他们不能为我这样做因为它在共享服务器上。

有关于此的任何解决方法吗?我现在没有选择更改托管的选项。

3 个答案:

答案 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

它们应该安装在用户的目录中。如果没有,请再次询问您的主人。如果问得好的话,我会安装任何常见的宝石。