mysql-2.8.1 gem错误

时间:2011-07-05 14:55:22

标签: mysql ruby-on-rails-3 gem bundler

所以当我试图运行bundle install时,我收到mysql-2.8.1.gem的错误。我尝试了清理命令,但仍然得到同样的错误。这是错误消息:

  

取出:mysql-2.8.1.gem(100%)
  错误:执行gem时...(Gem :: FilePermissionError)       您没有写入/usr/local/lib/ruby/gems/1.8目录的权限。

2 个答案:

答案 0 :(得分:2)

如上面的评论中所述,这是一个权限问题,将其移至超级用户是正确的,因为它不是编程问题。

实际上发生的事情是,当您运行bundle install而不使用rvm时,bundle会尝试将刚刚捆绑的gem保存到默认的gem目录中,该目录通常位于/ usr中的某个位置。

普通用户对此目录没有写入权限。您可以尝试使用sudo运行相同的命令,即sudo bundle install。这可能有用。

我真的建议你使用rvm做这样的事情,因为它确实有助于保持你的宝石清洁,你不会遇到这些问题。

答案 1 :(得分:0)

默认情况下,Rubygems尝试为系统范围的访问安装gems(在系统范围的文件夹中),但它有一种模式,允许您将它们安装在主目录的目录中。

一个选项是安装gem sytemwide,你需要root权限。在大多数现代Linux发行版中,您可以使用sudo gem install ...

来完成此操作

如果你真的想在你的主目录中使用它,你应该知道当你尝试以普通用户身份安装时,rubygems没有配置为自动回退到你的主目录中安装gems。除非您明确指出要在主目录中安装gem,否则它更喜欢给您一条错误消息(您在此处看到的消息)。您可以使用gem install --user-install ...

告诉rubygems在主目录中安装