【问题标题】:Installing JSON Gem with Bundler without GCC在没有 GCC 的情况下使用 Bundler 安装 JSON Gem
【发布时间】:2013-05-31 17:37:30
【问题描述】:

我正在将 Rails 应用程序部署到服务器。有一些环境限制,即:

  1. 服务器上没有互联网访问权限
  2. 服务器上没有 root 访问权限
  3. 没有构建工具(GCC 等)

我几乎可以进行 capistrano 部署,但是当 bundler 尝试安装 json gem 时失败:

** [out :: 192.168.7.115] Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
** [out :: 192.168.7.115] 
** [out :: 192.168.7.115] /app/ruby/bin/ruby extconf.rb
** [out :: 192.168.7.115] creating Makefile
** [out :: 192.168.7.115] 
** [out :: 192.168.7.115] make
** [out :: 192.168.7.115] compiling generator.c
** [out :: 192.168.7.115] make: gcc: Command not found
** [out :: 192.168.7.115] make: *** [generator.o] Error 127 

由于没有互联网,我所有的宝石都存储在vendor/cache。我想通过在确实具有 gcc 的类似机器上编译 json gem 来解决这个问题,但我无法在系统上找到“编译后的”gem。通常,我会看到一个 [gemname]-x86_64-linux.gem gemfile,表明编译已经完成。似乎无法为 JSON gem 找到这个,但如果我找到了,我猜我可以将它放在我的 vendor/cache 文件夹中并收工。

有什么建议吗?我是否正确地解决了这个问题?

【问题讨论】:

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


    【解决方案1】:

    我不能推荐这种方法,因为它在很多层面上可能是坏事,但它确实解决了我的问题。我最终将shared/bundle 文件夹从登台服务器复制到生产服务器。 Bundler 发现 gems 已经安装并且不会尝试重新安装它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多