【问题标题】:Why won't bundler install the json 1.7.4 gem on OS X 10.8?为什么 bundler 不在 OS X 10.8 上安装 json 1.7.4 gem?
【发布时间】:2012-07-27 00:44:21
【问题描述】:

我使用的是带有 XCode 4.4、Ruby 1.9.3 和 Rails 3.2 的 OS X 10.8。

当我从 git 克隆我的 rails 项目并运行时:

bundle install

我明白了:

安装 json (1.7.4) Errno::EPERM:不允许操作 - /Users/myuser/.rvm/gems/ruby-1.9.3-p0/gems/json-1.7.4/.gitignore 安装 json (1.7.4) 时出错,Bundler 无法继续。 在捆绑之前确保gem install json -v '1.7.4' 成功。

那我试试:

gem install json -v '1.7.4'

然后得到:

错误:执行 gem 时 ... (Errno::EPERM) 不允许操作 - /Users/scalessec/.rvm/gems/ruby-1.9.3-p0/gems/json-1.7.4/.gitignore

好的。权限问题,对吧?让我们试试吧:

sudo gem install json -v '1.7.4'

不行。这是我得到的:

构建原生扩展。这可能需要一段时间... 错误:安装 json 时出错: 错误:无法构建 gem 原生扩展。

/Users/myuser/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb 创建 Makefile

制作 编译生成器.c 制作:/usr/bin/gcc-4.2:权限被拒绝 make: * [generator.o] 错误 1

什么鬼?

【问题讨论】:

  • 我在 Arch Linux 上安装 json 1.7.4 时遇到了问题;它失败了,因为 Makefile 在本应调用 /usr/bin/install 时正在寻找 /bin/install;我的意思是,我认为该 gem 的发布有问题。

标签: ruby-on-rails json gem makefile bundler


【解决方案1】:

我不确定,但我在 2 天前升级到了 OS X 10.8(从 Lion,我的 Rails 配置运行良好)。我遇到了同样的 JSON 1.7.4 问题。

最后,我注意到 Xcode 的命令行工具没有安装(但它们在 OS X 10.7 上!),从而解决了这个问题。 我刚刚在 Xcode 中重新安装了 CLI 工具,JSON 1.7.4 问题消失了。

如果有帮助,请查看本指南:https://thoughtbot.com/blog/the-hitchhikers-guide-to-riding-a-mountain-lion

【讨论】:

  • 我会将其标记为正确答案,因为它可能对其他用户最有帮助。事实上,我已经安装了 CLI 工具,所以不是这样。我认为这特别是一个编译器问题。无论如何,重新安装 ruby​​ 和 rails 就成功了。
  • 这也发生在我身上。我打开 XCode,它提示我更新 CLI 工具。
【解决方案2】:

感谢 aabulkhairov 的解决方案。

这是一个适合任何有相同症状但仍在运行 OS X Lion

的人

我能够从 App Store 将 Xcode 更新到 4.4,然后使用 XCode > Preferences > Downloads 来安装 CLI 工具;这解决了问题。新的 XCode 与 Lion 兼容,我的 Rails 应用程序运行正常。

我认为我进入这种状态是因为从 App Store 安装的以前版本的 XCode 4.2.1 取代了我从 developer.apple.com 下载的更旧版本——这可能是我丢失 CLI 工具的原因。从那时起,我显然再也不需要用原生扩展编译 gem。

【讨论】:

  • 重新安装命令行工具对我有用。在我启动 Xcode 之后,它提示我更新一些东西。我这样做了,然后按照这些说明安装了 CLI 工具(在升级到 Mountain Lion 之前我也有它们)。完成后,bundle install 运行良好。
【解决方案3】:

重新安装 CLI 工具对我有用。

在此处使用最佳答案: How to use/install gcc on Mac OS X 10.8 / Xcode 4.4

【讨论】:

    【解决方案4】:

    对于 OS X,请使用:
    sudo gem install json --pre 获取最新版本

    检查您正在使用的 Ruby 版本。这可以通过ruby 1.9.3 轻松安装。将 ruby​​ 版本更改为 1.9.3 并执行

    sudo gem install json -v '1.7.4'

    【讨论】:

      猜你喜欢
      • 2013-07-19
      • 2013-07-12
      • 1970-01-01
      • 2014-01-01
      • 2013-11-03
      • 2012-12-07
      • 2013-06-17
      • 1970-01-01
      相关资源
      最近更新 更多