2017年2月27日月曜日

Electron のインストールに失敗する(解決)

ちょっとしたことをしようとして、GUI アプリを作りたいと思いました。
手軽に作れるものは無いかと思った時に Electron があることを思い出しました。

Electron
http://electron.atom.io/

JavaScript というか Web 系の技術を使って GUI のアプリが作れるならと早速インストールしようとしたのですが、エラーが発生してしまいました。

$ npm -g install electorn-prebuilt
npm WARN npm npm does not support Node.js v0.12.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm You can find the latest version at https://nodejs.org/
npm ERR! Darwin 16.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "-g" "install" "electorn-prebuilt"
npm ERR! node v0.12.2
npm ERR! npm  v4.1.2

npm ERR! Cannot read property 'path' of null
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/xxx/npm-debug.log

ぱっとエラーの内容を見る限り・・・よくわからん。
すぐに分かる人は、本当にしょうもない事しているなと思いますが、それは最後に取っておいて、分からないなりに取った行動を載せていきます。

1. node の再インストール

まず、単純に node がおかしいと決めつけて、node の再インストールを試みました。

$ brew uninstall node
$ brew update
$ brew install node
$ npm -g install electorn-prebuilt

結果、変わりませんでした。

2. npm のデフォルトディレクトリの権限を変更

よくわからないなりにエラー内容で調べた所、npm のデフォルトディレクトリの権限がおかしくなっているのではないか?との記事を見かけたので、これまた見よう見まねで変更処理を行いました。

$ npm config get prefix
...
/usr/local
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
...
$ npm -g install electorn-prebuilt

結果、変化なし。

3. node 自体を怪しむ

この辺から心が折れかけましたが、再度 node に目を向けました。
インストール実行後に WARN と出ていることから、node のインストールが上手く行っていないと思ったので、再度アンインストールしてから node のバージョン確認をすると、アンインストールしたはずなのにバージョンが表示されました。
多分、昔にパッケージを使って node を入れた気がしたので、それが悪さをしている物と思いました。
ちなみにここで、勝利を確信して、完全なアンインストールを行ってみました。

# 削除するパッケージの名前(org.nodejs.node.pkg.bom)は、本当にあるか確認すること
$ lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

# npm を削除
$ sudo rm -rf ~/.npm

$ brew install node
$ npm -g install electorn-prebuilt

が、しかし、node のバージョンは上がったにも関わらず、結果変わらずです(WARN がでなくなりました)。

$ npm -g install electorn-prebuilt
npm ERR! Darwin 16.4.0
npm ERR! argv "/usr/local/Cellar/node/7.6.0/bin/node" "/usr/local/bin/npm" "-g" "install" "electorn-prebuilt"
npm ERR! node v7.6.0
npm ERR! npm  v4.1.2

npm ERR! Cannot read property 'path' of null
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/xxx/npm-debug.log

4. インストール完了と恥ずかしさ

さて、ここまで来ると、もう手に負えないと感じ始めました。
なんなら、なんで Electron なんて使ってみようと考えたのか?という部分にまで至りました。

とは言え、諦めるのもかっこ悪いので、再度インストールコマンドをコピペして調べてみると。。。
Google から思いの寄らない返事が

。。。
Electron のつづりが間違っている。。。

そうです。インストールコマンドで指定している Electron のつづりを間違えていたのでした。

☓ electorn
◯ electron

ああっ!と少し自分でも自分に対して引いてしまいました。
その他、調べると現在は electron-prebuilt の -prebuilt なしでも良いとのこと。

$ npm -g install electron
/usr/local/bin/electron -> /usr/local/lib/node_modules/electron/cli.js

> electron@1.4.15 postinstall /usr/local/lib/node_modules/electron
> node install.js

/usr/local/lib
...
$ electron -v
v1.4.15

な、なんとか上手くインストール出来ました。
タイポはよくあるかと思いますが、インストールの際にはお気をつけを。
(この作業に 2 時間もかかってしまった。。。)

Written with StackEdit.

0 件のコメント:

コメントを投稿