我正在使用rvm运行ruby 1.9.2 p180。
我尝试安装rails:
sudo gem install rails我得到了这个:
Successfully installed activerecord-3.1.3
Successfully installed activeresource-3.1.3
Successfully installed mail-2.3.0
Successfully installed actionmailer-3.1.3
Successfully installed rack-ssl-1.3.2
Successfully installed rdoc-3.12
Successfully installed railties-3.1.3
Successfully installed rails-3.1.3
22 gems installed
[BUG] cross-thread violation on rb_gc()
(null)我一直在使用1.8.7,但我想尝试使用1.9.2,因为事情似乎正在发生变化,并遇到了这个bug。
那会是什么呢?
发布于 2012-01-01 01:48:20
请参阅Troubleshooting RVM中的“总线错误/段故障”一节
到目前为止,我所见过的每一种情况都是,一个带有C扩展的ruby gem/库是在不同的ruby和/或架构上编译的,而不是试图加载它的那个。尝试卸载并重新安装带有C扩展的gem,您的应用程序使用这些gem来查找这个buggar。
不能保证这就是问题所在,但要确保您的所有gem都针对您正在运行的体系结构进行了编译(例如,64位与32位)。你在你的帖子中没有提到平台/架构。如果您运行的是OSX,也请参阅OSX, RubyGems and cross-thread violations in rb_gc。你很有可能会拿到一些1.8.7的gem。
发布于 2012-01-01 13:46:58
为什么要用RVM运行sudo gem?您是否尝试过:
rvm使用rails-1.9.2-p180
gem install rails
在创建应用程序的文件夹下,您还可以使用正在运行的ruby版本创建一个.rvmrc文件,这样每次您进入该文件夹时,它都会切换到在.rvmrc中设置的版本
示例:
rvm ruby-1.9.2-p180@myapp
https://stackoverflow.com/questions/8689528
复制相似问题