Error: Cannot find module 'js-yaml' when running "bower install"

Error: Cannot find module 'js-yaml' when running "bower install"

我正在完成 AngularJS 应用程序的基本设置(刚刚开始),目前正在尝试为该应用程序安装 Bower 组件。

当我从终端 运行 bower install 时,出现以下错误:

Error: Cannot find module 'js-yaml'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (Path\bower\node_modules\configstore\index.js:9:12)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)

我没有在我的脚本中的任何地方指定 js-yaml 模块(据我所知),所以不确定这种依赖性来自哪里。

我尝试删除 node_modules 文件夹,清除 npm 缓存,包括 package.json 文件中的 js-yaml 然后重新 运行ning npm install,但我当 运行ning bower install

时得到同样的错误

如果有帮助,我的 bower.jsonpackage.json 文件如下所示:

Bower.json

{
  "name": "starter-node-angular",
  "version": "1.0.0",
  "dependencies": {
    "bootstrap": "latest",
    "font-awesome": "latest",
    "animate.css": "latest",
    "angular": "latest",
    "angular-route": "latest"
  }
}

package.json

{
  "name": "starter-node-angular",
  "main": "server.js",
  "dependencies": {
    "express" : "~4.5.1",
    "mongoose" : "~3.8.0",
    "body-parser" : "~1.4.2",
    "method-override" : "~2.0.2",
    "js-yaml" : "latest"
  }
}

我正在使用 WebStorm 10.0.4(以空项目为起点)。

有没有人遇到过这个或类似的问题,并可能为我指出正确的方向来解决这个问题?

我的猜测是它与您的应用程序无关,但 Bower 已损坏。尝试重新安装它:

$ npm uninstall bower

然后像这样重新安装:

$ npm install -g bower

这帮我解决了。

运行 sudo npm install -g js-yaml 首先应该让你朝着正确的方向前进。