Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Sencha の build で「'parsebox': can't modify frozen Array」のエラーが出てビルドできなくなった

More than 5 years have passed since last update.

開発環境を別のマシンに移したら sencha の build が通らなくなった


開発環境をまるまる別のマシンに移行しなければならなくなり
結構ハマったので備忘録として初投稿

環境は大雑把に書くと

  • Mac OS Yosemite
  • rbenv (by Homebrew)
  • ruby 2.1.2
  • sencha v5.1.0.26

build 実行


build の実行は$ sencha app build$sencha app watch -e testing

でしばらく build が進むと下記のエラーで build に失敗する

error XXXX-example.scss (/Users/user/projects/xxxx/public/javascripts/ext/packages/ext-theme-base/sass/utils.rb:30:in `parsebox': can't modify frozen Array)


もしかすると下記の場合もあるかもしれないです

..../rubygems/dependency.rb:298:in 'to_specs': Could not find 'compass' (>= 0) among 14 total gem(s) (Gem::LoadError) 


でも旧環境で同じソースの build は問題なく通る。。。

rbenv を入れなおしたら解決したと教えてもらったので
全部消して、何度も rbenv を最初から入れなおして見たけど全然変わらず。。。

いろいろ比較してみた


両方の sencha の debug build log を比較してみたり(15万行以上あった・・)
gem listの比較をしてみたりしても原因がわからずでしたが、
~/.rbenv の中身を比較してみたら

  • 旧環境: git で rbenv をインストール
  • 新環境: Homebrew で rbenv をインストール

解決した


git から rbenv をインストールしたら build が通るようになった!

なぜ?と違いを調べていたら「rbenv + ruby-build はどうやって動いているのか」という記事を
書かれている方がいらっしゃいました。
こんなに違うのかー!と勉強不足を痛感しました。。。

何か詳しい原因をご存知の方いらっしゃいましたらご教授を!

Masato-I
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away