Ruby解释器中的错误

时间:2015-05-13 14:45:10

标签: ruby macos

当我运行某些终端命令时,我的macbook pro出了问题。它似乎与Ruby有关。我在优胜美地10.10.3。

我正在使用RVM来处理我的ruby / rails。今天我试着跑一辆手表'在做一些基础学习的东西。当我运行命令时,我得到以下内容:

dhcp-uris-3626:foundation johndcowan$ sass --watch
[BUG] Segmentation fault
ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-darwin11.3.0]

-- control frame ----------
c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP   
---------------------------

-- C level backtrace information -------------------------------------------

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap: 6

在随后的时间运行相同的sass --watch命令时,我得到了更多信息:

io.on('connection', function (socket) {
  socket.on('join', function (data) {
    clients[clients.length] = new Client("Client " + clients.length, data.channel);
    console.log('Client connected Channel: ' + clients[clients.length-1].channel);
    DB.Matches.findAll({attributes: ['matchId', 'teamAId', 'teamBId']}).then(function (result) {
      var promises = [];
      for (var i = result.length - 1; i >= 0; i--) {
        promises.push(
          DB.Teams.findAll({where: { team_id: [result[i].teamAId,result[i].teamBId]}}).then(function (teams) {
             return { id: 0, name: teams[0].clubName + ' - ' + teams[1].clubName};         
          }));
      }
      Promise.all(promises).then(function(array) {
          console.log(array);
          socket.emit('matches', array); 
        });
    });
  });
});

我使用的是ruby-2.0.0-p247。我尝试切换到ruby-1.9.2-p318并运行>>宝石安装sass。这也是跑步时的炸弹 - 守卫。当我切换到使用ruby-1.9.3-p125并运行gem install sass时,一切正常。去图。

我尝试更新RVM,没有任何帮助。

我不知道如何解决我所看到的问题,我希望有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

您应该重新安装gem,因为它具有本机扩展名,通常与编译期间使用的对应ruby版本相关。在某些配置中(即当您在商店应用程序宝石中使用vendor/bundle目录时)在ruby版本之间切换时,您仍然可以使用与其他ruby版本一起安装的gem。