日別アーカイブ: 2022年2月4日

ExecJS::RuntimeError(エラー対処録)

初めて見たエラーだったので対処法を記しておきます。

経緯

chart.jsでグラフを作るために記事を参考に試したところエラーが発生した。

原因

window.draw_graph = ->
  ctx = document.getElementById("myChart").getContext('2d')
  barNum = 6
  labels = new Array(barNum)
  bgColors = new Array(barNum)
  bdColors = new Array(barNum)
  for i in [0...barNum]
    labels[i] = 'data' + i
    bgColors[i] = 'rgba(75, 192, 192, 0.2)'
    bdColors[i] = 'rgba(75, 192, 192, 1)'
  myChart = new Chart(ctx, {
    type: 'bar',
    data: {
      labels: labels
      datasets: [{
        label: '# of Votes',
        data: gon.data,
  backgroundColor: bgColors,
  borderColor: bdColors,
  borderWidth: 1
  }]
  },
  options: {
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero:true
        }
      }]
    }
  }
  })

原因

インデントのズレなど構文が間違っているとなるようです。

解決法

Rubymineの自動フォーマット(⌥+⌘+Lキー)でインデント修正して解決しました。

window.draw_graph = ->
  ctx = document.getElementById("myChart").getContext('2d')
  barNum = 6
  labels = new Array(barNum)
  bgColors = new Array(barNum)
  bdColors = new Array(barNum)
  for i in [0...barNum]
    labels[i] = 'data' + i
    bgColors[i] = 'rgba(75, 192, 192, 0.2)'
    bdColors[i] = 'rgba(75, 192, 192, 1)'
  myChart = new Chart(ctx, {
    type: 'bar',
    data: {
      labels: labels
      datasets: [{
        label: '# of Votes',
        data: gon.data,
        backgroundColor: bgColors,
        borderColor: bdColors,
        borderWidth: 1
      }]
    },
    options: {
      scales: {
        yAxes: [{
          ticks: {
            beginAtZero: true
          }
        }]
      }
    }
  })

 

よくあるエラーらしいので、遭遇しても落ち着いて対処しよう