【问题标题】:Can I edit the gemfile of my ROR project?我可以编辑我的 ROR 项目的 gemfile 吗?
【发布时间】:2018-04-15 20:56:55
【问题描述】:

我正在使用带有 oracle 数据库的 ROR 我创建了一个项目,然后运行命令

rails generate migration test

我得到了错误

'无法加载此类文件 -- oci8'。 ActiveRecord oracle_enhanced 适配器无法加载 ruby​​-oci8 库。您可能需要安装 ruby​​-oci8 gem。

通过运行以下命令,

gem install ruby-oci8

我收到以下错误,

安装 ruby​​-oci8 时出错:

错误:构建 gem 原生扩展失败。

由于某种原因无法创建 Makefile,可能缺少必要的 库和/或标题。检查 mkmf.log 文件以获取更多详细信息。你可以 需要配置选项。

错误信息:

编译器无法生成可执行文件。

你必须先安装开发工具。

所以我将这一行添加到我的 gemfile 中

gem 'ruby-oci8', '~> 2.0.6'

然后我运行

bundle install

我得到这个错误

安装 nio4r (2.1.0) 时出错,Bundler 不能 继续。确保gem install nio4r -v '2.1.0' 成功 在捆绑之前。

然后我运行这个命令

gem install nio4r -v '2.1.0'

我收到这个错误

由于某种原因无法创建 Makefile,可能缺少 必要的库和/或头文件。查看 mkmf.log 文件了解更多信息 详情。

编译器未能生成可执行文件。 (RuntimeError) 你 必须先安装开发工具

我该怎么办?我陷入了这些错误的循环中。

我点击了这些链接但徒劳无功。

ActiveRecord oracle_enhanced adapter can't load ruby-oci8 library

Rails 3.0.3 - Oracle_enhanced doesn't work

ruby-debug Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers

Nokogiri issues with Ruby on Rails

看看这个 Q/A,按照这个 Sounds like you're missing the devtools for ruby

我已经安装了 ruby​​DevKit 并运行命令

ruby dk.rb init

但是在运行这个命令时

ruby dk.rb install

我收到了这个错误

配置无效或未列出 Rubies。请修复“config.yml” 并重新运行“ruby dk.rb install”

现在,我应该如何修改 config.yml 文件?我应该以哪种格式写路径或我必须写哪个路径?是“C:\Sites”吗?

【问题讨论】:

  • 这可能非常令人沮丧,我知道。到过那里。不幸的是,除了坚持下去,你真的别无选择。阅读错误消息,谷歌如何修复/防止它,重复直到成功。特别是,您发布的大多数错误消息都建议您安装开发工具。你试过吗?
  • 这个问题似乎与此类似。检查此链接:github.com/CocoaPods/CocoaPods/issues/1727
  • 是的,我已经安装了开发工具包.....因为它可以与所有其他项目和数据库一起使用。我在使用 oracle 数据库时遇到了这些问题@SergioTulentsev

标签: ruby-on-rails ruby oracle


【解决方案1】:

好吧,没什么好说的,但这很糟糕!

我们都去过那里。通常 ruby​​ 是一种非常友好的语言,但与软件开发中的所有工具一样,存在依赖关系......而且这些可能很讨厌。

要回答你的标题问题,你绝对可以编辑你的 gemfile,添加你需要的所有 gem,以及指定版本或来源等。

然后,您应该可以只使用bundle install 将所有gem 安装到您的gemfile 中,并在生成的Gemfile.lock 中设置它们的版本。

The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first

这似乎是您的 gcc 的问题。这个问题似乎是一个合适的候选人: The compiler failed to generate an executable file. (RuntimeError)

【讨论】:

    【解决方案2】:

    确保您拥有与 java.lang. 关联的运行时。由于您正在使用 oracle 数据库。确保你拥有这些宝石 (therubyracer、execjs、rubyrhino(或 therubyrhino),还要确保您的系统中安装了 nod.js。安装这些 gem 后,您应该不会有任何运行时错误。

    【讨论】:

    • 安装 gem 后,将它们添加到您的 gemfile 中。
    猜你喜欢
    • 2019-04-22
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多