LoginSignup
1
0

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-10-08

開発環境を別のマシンに移したら 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 はどうやって動いているのか」という記事を
書かれている方がいらっしゃいました。
こんなに違うのかー!と勉強不足を痛感しました。。。

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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0