【问题标题】:Error: Cannot find module 'js-yaml' when running "bower install"错误:运行“bower install”时找不到模块“js-yaml”
【发布时间】:2015-12-03 10:54:44
【问题描述】:

我正在完成 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 然后重新运行 npm install,但运行 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(以空项目为起点)。

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

【问题讨论】:

  • 修改package.json 文件,使其看起来像this,然后执行npm install。完成后,执行bower install
  • 嗨卢西奥,感谢您的反馈。我将尝试今天晚些时候提供的解决方案。同时,您能否解释一下 "js-yaml" : "latest" 与 "js-yaml" : "*" 的区别?只是要了解其中的区别。
  • 我在 npm 文档中看不到使用 latest 获取最新版本的软件包,* 用于此目的。这样做可能会安装软件包,从而解决您的问题。

标签: angularjs node.js npm bower bower-install


【解决方案1】:

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

【讨论】:

  • 这个答案为我点击了它。我刚刚关闭了 Webstorm 并以管理员身份再次运行它。这样做很好。
  • 请注意,除了以管理员身份运行 webstorm 之外,我还在 npm 命令中包含了 --save 以将依赖项保存到 package.json 文件中。
【解决方案2】:

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

$ npm uninstall bower

然后像这样重新安装它:

$ npm install -g bower

这为我解决了。

【讨论】:

  • 安装 bower 后出现此错误:npm ERR!代码 1
  • 通过 EmberCLI 和 NodeJS (5.1.0) 遇到了与 EmberJS (1.13.13) 类似的问题,这个解决方案在 Mac OS X 10.9.5 中对我有用。所以谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 2017-09-17
  • 2017-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多