尝试在我的 RoR 项目上“安装包”时出现错误。 [视窗 8]

Posted

技术标签:

【中文标题】尝试在我的 RoR 项目上“安装包”时出现错误。 [视窗 8]【英文标题】:I'm getting an error when trying to 'install bundle' on my RoR project. [Windows 8] 【发布时间】:2015-03-20 18:32:35 【问题描述】:

我已经在互联网上搜索了过去 4 小时以来一直存在的这个问题的答案,但我遇到了死胡同......

我通过 ruby​​gems.org 上的安装程序安装了 RoR。我浏览了许多教程并决定开始一个使用“gem install blog”的项目。我已经安装了大部分,但是第二次尝试“安装捆绑包”时出现此错误:

Gem::Ext::BuildError: ERROR: 未能构建 gem 原生扩展。

c:/Ruby21/bin/ruby.exe extconf.rb creating Makefile

使“DESTDIR=”干净 0 [main] rm 8308 open_stackdumpfile:将堆栈跟踪转储到 rm.ex mp make:[clean-static] 错误 5(忽略) 0 [main] rm 8316 open_stackdumpfile:将堆栈跟踪转储到 rm.ex mp make:[clean] 错误 5(忽略)

make "DESTDIR=" 生成生成器-i386-mingw32.def 编译 generator.c make: gcc: Command not found make: *** [generator.o] 错误 127

制作失败,退出代码 2

Gem 文件将继续安装在 c:/Ruby21/lib/ruby/gems/2.1.0/gems/j 进行检查。记录结果 到 c:/Ruby21/lib/ruby/gems/2.1.0/extensions/x86-mingw32/ n-1.8.2/gem_make.out 安装json(1.8.2)时出错, 并且 Bundler 无法确保 gem install json -v '1.8.2' 在捆绑之前成功。

现在,我尝试自行安装 JSON,并且我已经安装了 Devkit 并将其运行到我的项目中,但我不知所措。这是我尝试安装 JSON 时发生的情况。

暂时增强 PATH 以包含 Devkit... 构建原生 扩展名。这可能需要一段时间... 错误:安装 json 时出错: 错误:无法构建 gem 原生扩展。

Gem::Ext::BuildError: ERROR: 未能构建 gem 原生扩展。

c:/Ruby21/bin/ruby.exe extconf.rb creating Makefile

使“DESTDIR=”干净 0 [main] rm 8308 open_stackdumpfile:将堆栈跟踪转储到 rm.ex mp make:[clean-static] 错误 5(忽略) 0 [main] rm 8316 open_stackdumpfile:将堆栈跟踪转储到 rm.ex mp make:[clean] 错误 5(忽略)

make "DESTDIR=" 生成生成器-i386-mingw32.def 编译 generator.c make: gcc: Command not found make: *** [generator.o] 错误 127

制作失败,退出代码 2

Gem 文件将继续安装在 c:/Ruby21/lib/ruby/gems/2.1.0/gems/j 进行检查。记录结果 到 c:/Ruby21/lib/ruby/gems/2.1.0/extensions/x86-mingw32/ n-1.8.2/gem_make.out 安装json(1.8.2)时出错, 并且 Bundler 无法确保 gem install json -v '1.8.2' 在捆绑之前成功。

我几乎尝试了所有我能想到的东西(这并不多,因为我对整个 Ruby 语言还很陌生)。

任何可以提供的帮助都会很棒!我不是在寻找讲义,我真的很想了解到底发生了什么。

【问题讨论】:

您是否从 DevKit 目录运行了“devkitvars.bat”?您是否尝试使用管理员权限运行控制台?你有什么版本的 Windows? 【参考方案1】:

我通过重新安装 Ruby 解决了这个问题。

我怀疑升级到 OS X Yosemite 是导致问题的原因,因为我昨天刚刚升级。

错误:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/Users/cartersowers/.rbenv/versions/2.1.5/bin/ruby extconf.rb 
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
ld: library not found for -lgmp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [generator.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/cartersowers/projects/soomo/vendor/bundle/ruby/2.1.0/gems/json-1.8.2 for inspection.
Results logged to /Users/cartersowers/projects/soomo/vendor/bundle/ruby/2.1.0/extensions/x86_64-darwin-13/2.1.0-static/json-1.8.2/gem_make.out
An error occurred while installing json (1.8.2), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.2'` succeeds before bundling.

然后我重新安装了

rbenv install 2.1.5

一切都很好。

【讨论】:

似乎其他人在升级到 OS X Yosemite 后不得不重新安装 ruby​​ danielpuglisi.com/articles/2014/10/… 谢谢你,否则我不确定我是否已经猜到了解决方案。【参考方案2】:

尝试利用控制台权限并以管理员身份运行 (cmd.exe)。然后使用 ruby​​ 命令 gem install blog

当您第二次运行 install 时,Ruby 会询问您是否要覆盖文件。如果您没有更改任何内容,您可以选择a - overwrtie all

【讨论】:

以上是关于尝试在我的 RoR 项目上“安装包”时出现错误。 [视窗 8]的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 Vue js 中尝试从 firebase 检索令牌时出现错误?

为啥在为 ROR 安装 DevKit 时出现此错误

尝试添加外部库时出现 CMake 错误

尝试在 IntelliJ 上构建 gradle 项目时出现错误代码 B0

为啥在 cmd 中运行 ant sonar 命令时出现错误?

尝试为标签控件赋值时出现跨线程操作错误[重复]