【问题标题】:Grunt wiredep:app no such file or directory bower.jsonGrunt Wiredep:app 没有这样的文件或目录 bower.json
【发布时间】:2014-09-07 10:37:48
【问题描述】:

我正在尝试将我的 Yeoman 的 Angular 应用程序部署到我的生产服务器。 当我尝试运行 grunt build 命令时,出现此错误:

运行“wiredep:app”(wiredep)任务 警告:ENOENT,没有这样的文件或目录 '/usr/share/nginx/html/data/gaia-app/app/bower.json' 使用 --force 继续。

如果我使用 grunt --force 我的应用程序坏了...

我使用的是 Ubuntu 14.04

有什么想法吗?

【问题讨论】:

  • 我今天早上也收到了这条消息。但是对于grunt serve。昨天它工作没有任何问题。
  • 但是如果 grunt 不能正常工作,它就不会按照应有的方式构建您的应用程序。
  • 在 OS X Mavericks 中遇到了同样的问题。重新安装操作系统后,我的项目在没有 --force 的情况下不再运行 grunt serve(加上一些 CSS 错误)。
  • 同样的问题。我已经尝试重新安装 node 和 npm 并清除所有缓存,但结果仍然相同。

标签: gruntjs grunt-wiredep


【解决方案1】:

根据您要使用的wiredep 版本,有两种解决方案。

如果您想使用“^1.9.0”,请确保从 Gruntfile.js 中删除 cwd 属性。如果您是 angular-generator 用户,并且当前在配置中为wiredep 任务指定了 cwd 属性,这是一个常见问题。

如果您不介意使用“1.8.0”,请确保将该版本固定在您的 package.json 中。如果您通过 grunt-wiredep 包含wiredep,那么您将必须手动添加wiredep 并将其固定。如果您坚持使用“1.8.0”,请将 cwd 属性保留在任务的配置中。

【讨论】:

  • 正是我需要解决的问题。
  • 在 Gruntfile 中将版本固定到 1.8.0 对我有用。
  • yo angular setwiredep 到 1.7.0,升级到 1.9.0 并删除 cwd 属性对我有用,奇怪的是另一个项目在不改变这个的情况下工作正常。
  • @joshs,哪个 cwd?在 imagemin: { dist: { files: [{... ?
  • @joshs 您能否解释一下“当前问题”,即在 Wiredep 任务的配置中指定 cwd 属性? IE。有什么问题?
【解决方案2】:

很好,在 google joshs 解决方案上进行了相当多的搜索后解决了我的问题。我刚刚删除了<%= yeoman.app %>

wiredep: {      
  options:  { */code was here */ }
}

【讨论】:

  • 这解决了我的问题,最新的 yeoman 角度生成器有一些问题我一整天都在解决。
  • 我从wiredep 中删除了整个options 对象以消除错误
【解决方案3】:

解决方法是从 Grunfile.js 中删除 cwd 属性

请参阅此内容:

https://github.com/stephenplusplus/grunt-wiredep/issues/100

【讨论】:

  • 我刚刚尝试了这个建议的解决方案,它报告说它无法找到应该安装 Bower 组件的位置。
【解决方案4】:

我从 Melmoth 找到的这个答案:

Grunt wiredep:app Cannot find Bower packages

加上注释掉 gruntfile.js 中的第 166 行:

// cwd: '<%= yeoman.app %>'

为我解决了这个问题。


根据要求添加详细信息

我正在做 Yeoman 1 小时代码实验室 http://yeoman.io/codelab.html

安装后我运行grunt serve 并得到一个错误:Running "wiredep:app" (wiredep) task Warning: ENOENT, no such file or directory '../charlottesFolder/app/bower.json'

我试着移动:

charlottesFolder/bower.jsoncharlotteFolder/app/bower.json(实际上不要这样做,因为这是错误的)

然后抛出错误:Running "wiredep:app" (wiredep) task Cannot find where you keep your Bower packages.

这使我找到了Melmoth's answerCannot find Bower packages - 他的解决方案与在Gruntfile.js 中注释掉cwd 行(当前为第166 行)结合使用。

【讨论】:

  • 您能补充一点细节吗?谢谢。
  • 为答案添加了详细信息。希望对您有所帮助。
  • 感谢您提到确切的参考“gruntfile.js 中的第 166 行”
【解决方案5】:

您必须将 grunt-wiredep 依赖项设置为修复版本。

"grunt-wiredep": "1.8.0",

【讨论】:

  • 我在 package.json 中将 grunt-wiredep 升级到了 1.8,但没有任何区别。我还尝试了 joshs 的解决方案(1.9 并且没有 cwd,1.8 带有默认 yeoman 的 angular-generator 的 cwd),但我仍然收到相同的警告消息。
  • wiredep: { options: { // cwd: '' },
  • 'cwd' 有可能不是明确来自您的 grunt 配置,而是来自在wiredep 之前运行的其他一些任务 - 我有类似的问题,我在wiredep 之前运行了一些测试和一个我的测试中包含一个更改目录命令 - 检查导致
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-17
相关资源
最近更新 更多