はじめに
みなさんこんにちは。
昔にちょっとかじったTitanium
を再び始めようと思い勉強会に参加することにしました。しかし、TitaniumStudio
が古すぎたのでアップデートしようとしたらNode
無いよと怒られハマりました。
ということで、Node
の導入時のエラーについて紹介したいと思います。
npmの確認
まずNode
のパッケージ管理ツールnpm
が導入されているかチェック。(念のため入っているかどうかしてみた)
$ npm -v
-bash: npm: command not found
はい、ありません笑
まずbrew
でnpm
の導入をやってみました。
$ brew install npm
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.32.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.32.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/node
Target /usr/local/bin/node
already exists. You may want to remove it:
rm /usr/local/bin/node
To force the link and overwrite all conflicting files:
brew link --overwrite node
To list all files that would be deleted:
brew link --overwrite --dry-run node
Possible conflicting files are:
/usr/local/bin/node
/usr/local/include/node/ares.h
/usr/local/include/node/ares_version.h
/usr/local/include/node/node.h
/usr/local/include/node/node_buffer.h
/usr/local/include/node/node_object_wrap.h
/usr/local/include/node/node_version.h
/usr/local/include/node/uv-private/ngx-queue.h
/usr/local/include/node/uv-private/tree.h
/usr/local/include/node/uv-private/uv-unix.h
/usr/local/include/node/uv-private/uv-win.h
/usr/local/include/node/uv.h
/usr/local/include/node/v8-debug.h
/usr/local/include/node/v8-preparser.h
/usr/local/include/node/v8-profiler.h
/usr/local/include/node/v8-testing.h
/usr/local/include/node/v8.h
/usr/local/include/node/v8stdint.h
/usr/local/share/man/man1/node.1
/usr/local/lib/dtrace/node.d
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall node`
==> Summary
? /usr/local/Cellar/node/0.10.32: 1678 files, 19M
こんな感じでエラーが出てしまいました。
Node
を入れてみようとしてもこの通り。
$ brew postinstall node
Error: Permission denied - /usr/local/lib/node_modules/npm/AUTHORS
エラー文にあるbrew link
のコマンドを実行してみましたが結局ダメでした。
原因...?
おそらく原因は余計なファイルがあったことと、ディレクトリのアクセス権限が無かったことだと思います。一部ごちゃごちゃしてしまったのではっきりとはわからずですが汗
解決方法
最終的にはエラー文に載ってるNode
関連ファイルをrm
で消しました(/usr/local/include/node
とか)。力技です。
一部は所有者を変更しました。例としてはこんな感じ。
$ sudo chown -R user:group /usr/local/lib/node_modules
最後はroot権限でbrew
すればokです。
$ sudo brew postinstall node
これで無事Node
が入りました。
$ node -v
v0.10.32
おわりに
時間がかかってしまいましたがNode
の導入が出来ました。
そして...本題のTitaniumStudio
のアップデートも出来ましたw
TitaniumStudio
の導入がもっと簡単になるといいですね。
今回は以下の記事を参考にさせて頂ました。ありがとうございます。
brewでnode.jsをインストールするのがつらかった
http://www.misakit.com/post/92519432276/brew-node-js