0

我正在尝试在本地运行 rake 任务,但遇到了一个奇怪的错误。

$ rake alert_notification  --trace
** Invoke alert_notification (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute alert_notification
/Users/bendowney/.rvm/gems/ruby-1.9.3-p194@global/bin/rake(65399,0x7fff73799960) malloc: *** error for object 0x8: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

奇怪的是,我没有使用给定的 gemset (@globaL)。当我运行 $ rvm gemset list

它显示了正确的宝石组。

据我所知,这不会影响我的 Rails 应用程序的其余部分的工作方式。虽然我并不完全确定。

以及有关如何解决此问题的建议?

4

2 回答 2

1

只是猜测,看起来你在 OSX 上用 clang 编译了 ruby​​,有两种方法可以为 ruby​​ 获得正确的编译器:osx-gcc-installer 和:

rvm get head
rvm requirements # read the part on homebrew apple gcc42

获得正确的编译器后,您需要重新安装 ruby​​:

rvm reinstall 1.9.3

至于@globalgemset - 它被给定 ruby​​ 中的所有 gemset 继承,包括默认 gemset(没有任何@...)。

于 2012-07-26T20:22:45.730 回答
0

不知何故,在我们编写 rake 任务的过程中,这个问题已经完全消失了。所以我猜这篇文章的答案是“编写有效的 rake 任务”。

于 2012-08-06T11:33:44.197 回答