我尝试在linux机器上安装“capistrano”软件包但出现以下错误:
*** buffer overflow detected ***: /usr/bin/ruby terminated
此外,它向我展示了内存映射列表,然后安装过程中止。
有关导致此错误的原因的任何想法?
干杯 罗兰
答案 0 :(得分:5)
在CentOs 6.7,Ruby 1.8.5,gem 1.3.1上安装Capistrano时遇到了类似的问题。事实证明这个问题是由最新的高线套餐引起的。
以下允许我正确安装capistrano:
gem install highline --version "=1.6.2"
gem install capistrano --version "=2.6.0"
答案 1 :(得分:1)
此错误可能与某些Ruby 1.8.6错误有关(有关更多详细信息,请参阅此文章http://opsrealism.tumblr.com/post/4931621276/mirroring-rubygems-and-ruby-9-2-on-centos-5-5),因此如果可能,您可以尝试将Ruby升级到1.8.7。
另一个选择是尝试安装一个旧版本的宝石 - 它在几个场合对我有用,其中确切的宝石版本并不重要。例如,
gem install capistrano --version“= 2.7.0”
可能有用。
答案 2 :(得分:0)
我正在跑步:
我把问题缩小到了高线宝石。虽然我试图手动安装它的所有依赖项(有效),但它仍然无法加载自己,除非我遵循上述建议并指定版本1.6.2。 =(
gem install highline --version "=1.6.2"
希望我很快就会离开这个古老的操作系统。
答案 3 :(得分:0)
我在为CentOS 5.8安装cap
时遇到了类似的问题,但它使用了rvm安装程序(升级到最新的ruby,我使用了1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]
)
我的意思
yum remove ruby
(摆脱1.8.x)cap
命令!希望这有助于某些人