yo webappにてエラーが出たときの対処方法

  • 42
    いいね
  • 4
    コメント
この記事は最終更新日から1年以上が経過しています。

YEOMANの標準の骨組みを作ろうとして

$ yo webapp

を実行したところ、以下のようなエラーが大量に・・・

npm WARN package.json my-yo-project@0.0.0 No description
npm WARN package.json my-yo-project@0.0.0 No repository field.
npm WARN package.json my-yo-project@0.0.0 No README data
npm ERR! Error: EACCES, mkdir '/Users/XXXXXXXXXXX/.npm/uglify-js/2.4.15'e? (Y/n) -
npm ERR!  { [Error: EACCES, mkdir '/Users/XXXXXXXXXXX/.npm/uglify-js/2.4.15']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/XXXXXXXXXXX/.npm/uglify-js/2.4.15',
npm ERR!   parent: 'grunt-contrib-uglify' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/XXXXXXXXXXX/work/03_Develop/YEOMAN/my-yo-project
npm ERR! node -v v0.10.12
npm ERR! npm -v 1.4.23
npm ERR! path /Users/XXXXXXXXXXX/.npm/uglify-js/2.4.15
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/Users/XXXXXXXXXXX/.npm/uglify-js/2.4.15'
npm ERR! Error: ENOENT, utime '/Users/XXXXXXXXXXX/work/03_Develop/YEOMAN/my-yo-project/node_modules/grunt-mocha/node_modules/grunt-lib-phantomjs/node_modules/temporary/node_modules/package/.travis.yml'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
:
:

今日もまたエラーかい・・・と。ちょっと心折られそうになりながらも、エラーを解決して一歩前進していきたいと思う今日この頃。。。

落ち着いてエラーの箇所を見てみると

エラーの内容を見てみると、/Users/XXXXXXXXXXX/.npm/配下にディレクトリを作ろうとしてパーミッションエラーになっている様子。

この.npmフォルダというのは、npmのキャッシュフォルダとして使用されているようで、自動的に内容が作成されるみたい。

しかも、.npmディレクトリ内に作成されるディレクトリがroot権限のものだったり、ユーザ権限のものだったりと、まぁ入り乱れている様子。。。

そして今日も調べてみる。

すると、ここのサイトに同じような事象に遭遇した人が。。。

ここの遭遇した人の対処に倣って

$ sudo chown -R `whoami` ~/.npm

を実行する事で、.npmディレクトリ以下全てユーザ権限のものに置き換わり、結果として$ yo webappコマンドが正常に実行できた。