1

我刚刚部署了一些新代码(视图中只有一些文本更新),在处理命令cap deploy时,我收到以下错误消息:

 ** [out :: IP] Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
 ** [out :: IP]
 ** [out :: IP] /usr/local/bin/ruby extconf.rb
 ** [out :: IP] creating Makefile
 ** [out :: IP]
 ** [out :: IP] make "DESTDIR="
 ** [out :: IP]
 ** [out :: IP] Gem files will remain installed in /home/deployer/fileto/shared/bundle/ruby/2.0.0/gems/json-1.8.1 for inspection.
 ** [out :: IP] Results logged to /home/deployer/appname/shared/bundle/ruby/2.0.0/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
 ** [out :: IP] An error occurred while installing json (1.8.1), and Bundler cannot continue.
 ** [out :: IP] Make sure that `gem install json -v '1.8.1'` succeeds before bundling.

它今天才出现,我有 2 周没有对应用程序做任何事情。我尝试将json gem 添加到 Gemfile,但没有帮助 - 仍然是同样的错误。

问题是什么?

谢谢

4

5 回答 5

3

迟到的答案,但自从我来到谷歌,其他人也可以:

您需要重新安装命令行工具。我假设你升级到小牛队?它从 xcode 中清除了 CLI。您现在必须实际访问 Apple 开发者网站并下载 Mavericks 的 CL 工具: https ://developer.apple.com/downloads/index.action?name=for%20Xcode%20-#

安装后,捆绑包应该可以工作。

于 2013-11-05T23:23:10.820 回答
0

如果您正在运行 RVM,那么除了安装 Mavericks 的命令行工具(如@mike-manfrin 提供的答案中所示)之外,您可能还需要执行以下操作:

  • 更新 RVM

rvm get latest

  • 重新安装您的项目或 gemset 正在使用的 ruby

rvm reinstall <ruby-version>

rvm list如果您不确定当前使用的是哪种红宝石,请使用。经过这两个步骤,我发现我可以捆绑项目并且正确安装了 json gem。

于 2013-12-24T12:06:08.447 回答
0

据我所知。这件事可能由于不同的原因而发生,

1) The gem version you are using or their dependency are not supported with other gem version or the ruby version you are using.
2) there is not enough permission to install the gem
3) the gem version is not present in the repository.

很抱歉,我无法为您提供确切的解决方案,但您可以检查此选项并相应地尝试。

于 2013-10-23T11:57:36.430 回答
0

我有同样的问题,也许它可能是 JSON gem 的新版本。我将此行添加到我的 Gemfile 中:

gem 'json', '1.8.0' 

(JSON gem 的先前版本)

然后运行:bundle update以覆盖较新版本的 JSON gem。

不知道新版gem出了什么问题,10月17号就出来了,如果你之前没有这个问题,可能是更新后的gem...?

于 2013-10-30T04:30:58.547 回答
0

这是EC2发展的奥秘之一。

我通过登录 EC2 服务器解决了这个问题,并在那里运行了以下命令:

sudo gem install json

之后我能够正确部署应用程序。但是,我仍然不明白为什么或从哪里发生此问题。

于 2013-10-23T13:17:21.120 回答