LoginSignup
1
1

More than 5 years have passed since last update.

yeomanでError: Cannot find module '../package.json'が表示される問題の対策

Last updated at Posted at 2015-05-12

Yeoman入門(第二部、generatorを作る)を参考にgeneratorを作成していたら、yo helloworldした際に下記のエラーが発生したので、その原因と対策についてメモ。

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: Cannot find module '../package.json'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at module.exports.yeoman.generators.Base.extend.initializing (/Users/ryo/Programming/web/generator-helloworld/generators/app/index.js:8:16)
    at /Users/ryo/Programming/web/generator-helloworld/node_modules/yeoman-generator/lib/base.js:421:16
    at processImmediate [as _immediateCallback] (timers.js:336:15)

原因?と対策

generator-generatorのバグっぽい。
このバグを修正したパッチ(path fix for package.json file #112)がマージされているので、もうしばらく待てば治ると思うけど、一応対策メモ。

generators/app/index.jsのrequire('../package.json')require('../../package.json')に直すだけ。

generators/app/index.js
...
module.exports = yeoman.generators.Base.extend({
  initializing: function () {
    // this.pkg = require('../package.json'); <- このパスがおかしい
    this.pkg = require('../../package.json');
  },

1
1
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
1