【问题标题】:Installing mysql2-0.2.6 on a Mac在 Mac 上安装 mysql2-0.2.6
【发布时间】:2011-03-07 06:47:53
【问题描述】:

我很难找到有关如何安装 mysql2-0.2.6 并为 ruby​​ on rails 应用程序启动和运行它的良好说明。谁能分解一下这个过程?

当我尝试安装 gem 时,我收到了这个错误:

Installing mysql2 (0.2.6) /Library/Ruby/Site/1.8/rubygems/installer.rb:574:in `initialize': Permission denied - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/.gitignore (Errno::EACCES)

【问题讨论】:

  • 您不久前发布的stackoverflow.com/questions/5216563/… 的副本。您应该澄清最初的问题,而不是创建新问题。
  • 由于某种原因关闭了,我认为您发布了错误的链接。
  • gem "mysql2", '~> 0.2.6' 在 gemfile 中,然后是 bundle install
  • 不起作用。我收到此错误:安装 mysql2 (0.2.6) /Library/Ruby/Site/1.8/rubygems/installer.rb:574:in `initialize': Permission denied - /Library/Ruby/Gems/1.8/gems/mysql2- 0.2.6/.gitignore (Errno::EACCES)
  • 理想情况下,您应该使用 RVM,以避免使用 sudo gem install ...。 (rvm.beginrescueend.com)

标签: mysql ruby-on-rails ruby database installation


【解决方案1】:

试试

chmod 666 /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/.gitignore

【讨论】:

  • 现在我得到这个错误:安装mysql2(0.2.6)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1216:在“chmod”中:不允许操作 - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/.gitignore (Errno::EPERM)
  • 您以什么用户身份运行命令?谁拥有该文件?你能告诉我这个命令的输出吗:ls -l /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/.gitignore
  • 我得到了这个:-rw-r--r-- 1 root admin 90 Mar 7 02:21 /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/.gitignore
  • 由于文件是root拥有的,所以需要root才能修改其权限。如果运行 gem 的用户不是 root 并且它尝试修改文件的权限,它将返回您得到的错误。尝试对 gem 进行 sudo 安装。
【解决方案2】:

找到 mysql_config 的路径

locate mysql_config

使用该路径安装 gem

sudo gem install mysql2 -- –with-mysql-config=/path/to/your/mysql_config

为一群people工作。试一试。

编辑 - 丢失定位 确保你在根目录下然后运行sudo /usr/libexec/locate.updatedb

【讨论】:

  • 当我运行locate mysql_config 我得到这个:警告:定位数据库(/var/db/locate.database)不存在。要创建数据库,请运行以下命令:sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
  • 我运行了那个命令,但是当我运行locate mysql_config时仍然得到同样的信息
  • 好的,所以现在当我关注这个时仍然有一个错误:错误:安装 mysql2 时出错:错误:无法构建 gem 原生扩展。
  • hmm...在这里尝试从dev.mysql.com/downloads/mysql 下载一个新副本,然后安装gem
【解决方案3】:

我认为可以通过以下方式修复此权限错误: XCode -> 首选项 -> 下载 -> 组件选项卡 -> 命令行工具:按下载

现在应该可以通过命令行安装了。 问候。鸢尾

【讨论】:

    【解决方案4】:

    这个错误主要出现在我们用Ruby 1.9.3版本安装mysql2-0.2.6的时候。如果你切换到 Ruby 2.0,这个问题就迎刃而解了。 Ruby 1.9.3 达到 EOL(https://github.com/sstephenson/rbenv/issues/712) 并且 Ruby 核心团队没有提供任何支持。因此,尝试使用 Ruby 1.9.3 是没有用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 2014-02-03
      • 2021-11-15
      相关资源
      最近更新 更多