やめアプ

会社をやめてアプリ開発者となった筆者の日常を書き連ねていきます。

【Titanium】OS X Mavericksにしたら動かなくなったときの対処法

僕のアプリはすべて、Titanium Mobile(通称Titanium)を使って作られています。

大したノウハウを持っているわけでもないんですが、つまずいたポイントの共有&もっと詳しい人カモンという意味を込めて、今後はTitanium絡みの記事なんかも書いていこうと思います。

 

さて、今回は表題の通り、OS X Mavericksにして動かなくなったときの解決方法についてです。前日まで何の問題もなく使用できていたのですが、OS X Mavericksにアップデートした直後からアップデートやRunに失敗するようになってしまいました。

 

TItanium Studioを起動すると、Titanium CLI 3.2.1, Node ACS 1.0.14, Alloy 1.3.1のアップデート通知が表示されますが、Installを選択すると、

Error encountered during update

NPM is not installed.

NPM is not installed.

NPM is not installed.

と表示され失敗します。また、この状態でRunを選択してもCLIのアップデートを求められ起動できません。

 

ネットを検索すると、PATHの書き換えでOKみたいな記事がちょくちょく出てくるんですが、試してみても結果は変わりません。また、一点気になることとして、terminalで

npm -v

と打ち込むと、-bash: npm: command not found となってしまいました。npmインストールされてないよ、とのことのようです。しかし、 /usr/local/lib/node_modules/npmにフォルダは存在しています。

 

で、数少ないTitaniumフレンドに泣きついて環境の差異なんかを炙りだしたところ、

usr/local/bin/npm

が僕の環境だけないことが判明。しかもこれ、 /usr/local/lib/node_modules/npmへのシンボリックリンクとのこと。

そこでterminalを開き、

ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

を打ってシンボリックリンクを作成したところ見事解決。

アップデートも失敗せず始まりましたし、

npm -v

でバージョン情報も表示されるようになりました。

 

なぜMavericksにアップデートしてシンボリックリンクが削除されたかは不明ですが、ひとまず一件落着です。

ただし、同様の症状に困っている外人にこの方法を伝えてみたところ、

This also has no effect(これも効果なしさ)

とのお答えでしたので、この方法で誰もが解決できる保証はありません。