読者です 読者をやめる 読者になる 読者になる

さよならとりっぷ

しがないWebエンジニアの雑記とポエム

Ruby on Railsでgemとか入れてたらnode.jsやnpmが動かない

環境設定関連の知識が浅いということは前々から思ってたのだけど、
今回も環境設定系でつんだので覚え書き。
環境設定で力尽きて開発フェーズまで頑張れないのはいつもの通りなのでご愛嬌。

~/.bashrcとか~/.bash_profileのパス?関連をもう少し勉強した方がいいかもしれない。
PATHについての知識も浅い。

ちなみにCygwinだと割とすんなりnodeとかnpmが動いているので、
開発環境はWindowsでもいいかもしれない。

先輩にHomebrewから入れ直した方がいいと言われたのでそこから始めた。

◆参考エントリ
Macにnodeblew(node.js, npm)をインストールする手順 - Qiita
node installation error · Issue #29026 · Homebrew/homebrew · GitHub
NPMがNotFoundって言われた時にしたこと - Qiita
Homebrewでnode.jsとnpmをインストール | bulblub

node.jsはインストーラで入れた覚えがあるのでまずはそれを削除。
passwordを求められるのでMacのパスワードを入れる

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.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.*

Homebrewを入れ直す

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
    rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

エラー吐くので表示されてるコマンドをとりあえず打つ

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

-bash: brew: command not found

!?
PATH関連かと思い、sourceで変えて?みる

source ~/.bash_profile 

brew -v
Homebrew 0.9.5

入ってる?
nodeをターミナルからインストール

brew install node

==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.31.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.31.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.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.31: 1547 files, 19M

上手くいかないのでとりあえずコマンドを打ってみる

brew postinstall node
Error: Permission denied - /usr/local/lib/node_modules/npm/node_modules/block-stream/test/basic.js

ググると、「brew doctorすれば?」という記事があるので打つ

brew doctor
(省略)
Warning: Your Homebrew is outdated.
You haven't updated for at least 24 hours, this is a long time in brewland!
To update Homebrew, run `brew update`.
(省略)

アップデートしましょう

brew update

Homebrewがアップデートされたのでnodeを入れ直す

brew -v
Homebrew 0.9.5

brew install node
Error: node-0.10.31 already installed
To install this version, first `brew unlink node'

面倒になってきたので、今ある(と思われる)nodeを削除して再インストール

brew uninstall node
Uninstalling /usr/local/Cellar/node/0.10.31...

install node
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.33_1.mavericks.bottle.10.tar.gz
######################################################################## 100.0%
==> Pouring node-0.10.33_1.mavericks.bottle.10.tar.gz
==> Caveats
If you update npm itself, do NOT use the npm update command.
The upstream-recommended way to update npm is:
  npm install -g npm@latest
==> make uninstall
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /usr/local/Cellar/node/0.10.33_1/libexec/npm/npm-debug.log
make: *** [uninstall] Error 3
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall node`
==> Summary
🍺  /usr/local/Cellar/node/0.10.33_1: 2081 files, 21M

完了しないのでpostinstallを叩く

brew postinstall node
==> make uninstall
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /usr/local/Cellar/node/0.10.33_1/libexec/npm/npm-debug.log
make: *** [uninstall] Error 3

READ THIS: http://git.io/brew-troubleshooting

These open issues may also help:
node (https://github.com/Homebrew/homebrew/issues/34694)
node failed to build on 10.10 (https://github.com/Homebrew/homebrew/issues/33484)

権限だと思うのでsudo

sudo brew postinstall node
==> make uninstall
==> make install

node.jsがちゃんと入ったと思われる
その後npmをupdateした方が良いとのことなのでupdate

sudo npm update -g
npm -v
2.1.11


おしまい。おかえりnpm。

広告を非表示にする