LoginSignup
1
0

Titaniumで自動インストールされたnodeやnpmが/usr/local配下に残っていた件

Last updated at Posted at 2017-02-28

初めてQiitaに投稿してみます。ドキドキ。。。

remark-lintをインストールするために初めてnpmを使ったのですが、環境構築時にすごくハマったのでメモ。

Mac内に/usr/local/bin/npmコマンドが見つかったので、なんかのタイミングでHomebrewで入れたんだったかなーと思い、とりあえずnpm installをしてみました。

するとこんなエラー。

~ % npm install --save remark-cli remark-lint remark-preset-lint-recommended
npm ERR! Error: EACCES, open '/Users/$USER/.npm/aeb23529-remark-cli.lock'
npm ERR!  { [Error: EACCES, open '/Users/$USER/.npm/aeb23529-remark-cli.lock']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/$USER/.npm/aeb23529-remark-cli.lock' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 15.6.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "--save" "remark-cli" "remark-lint" "remark-preset-lint-recommended"
npm ERR! cwd /Users/$USER
npm ERR! node -v v0.8.22
npm ERR! npm -v 1.2.14
npm ERR! path /Users/$USER/.npm/aeb23529-remark-cli.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/$USER/.npm/aeb23529-remark-cli.lock'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/$USER/npm-debug.log
npm ERR! not ok code 0

エラーの直接の原因は、~/.npm ディレクトリのオーナーがrootだったからでした。

% ls -ld .npm
drwxr-xr-x  46 root  staff  1564 Apr 18  2013 .npm

ディレクトリをchownすれば動いたのかもしれませんが、もう少し考えてみる。
パスが/usr/local/bin/npmだと普通はHomebrewで入ったコマンド。でもbrewパッケージ関連のディレクトリがroot権限って変です。brew listで確認してもパッケージ入ってないし、自分でインストールした記憶もない。

ということでlsで確認してみる。
brewで入れたコマンドは以下のようにCellar配下へのリンクになるもんだけど、

~ % ls -l /usr/local/bin/git
lrwxr-xr-x  1 $USER  admin  28 Jan  5 14:22 /usr/local/bin/git -> ../Cellar/git/2.11.0/bin/git

nodeやnpmはCellarを見てないので、やっぱHomebrewではない!

~ % ls -l /usr/local/bin/node
-rwxr-xr-x  1 24561  wheel  18947216 Mar  7  2013 /usr/local/bin/node
~ % ls -l /usr/local/bin/npm
lrwxr-xr-x  1 root  wheel  38 Apr 18  2013 /usr/local/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js

リンク先のnode_modulesとやらを確認してみると、

~ % ls -l /usr/local/lib/node_modules
total 0
drwxr-xr-x  20 nobody  staff  680 Mar 29  2015 alloy
drwxr-xr-x  18 24561   staff  612 Mar 29  2015 npm
drwxr-xr-x  12 nobody  staff  408 Mar 29  2015 titanium

うぉ〜〜Titaniumからの自動インストールかぁ!!!前職で一時期TitaniumでiPhoneアプリ作ってたんですが、タイムスタンプもその時期だし間違いない。まともなアプリ作れないのでTitanium本体はすぐ削除したのですが、こんなタイミングでハマるとはすごい凹む。。。トロイのチタン馬。。。

調べてみると、同じような環境をきれいにした方がいたので、アンインストールまではすぐできました。
nodebrew で Mac の Node.js 環境をスッキリさせた

しかしこの後、Homebrewからnodebrewをインストールしようとして別途ハマるのですが、また別記事で書きまーす。

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