我正在尝试将我的 Yeoman 的 Angular 应用程序部署到我的生产服务器。当我尝试运行 grunt build 命令时,出现此错误:
运行“wiredep:app”(wiredep)任务警告:ENOENT,没有这样的文件或目录'/usr/share/nginx/html/data/gaia-app/app/bower.json' 使用--force 继续。
如果我使用grunt --force
我的应用程序已损坏...
我在 Ubuntu 14.04
有任何想法吗?
我正在尝试将我的 Yeoman 的 Angular 应用程序部署到我的生产服务器。当我尝试运行 grunt build 命令时,出现此错误:
运行“wiredep:app”(wiredep)任务警告:ENOENT,没有这样的文件或目录'/usr/share/nginx/html/data/gaia-app/app/bower.json' 使用--force 继续。
如果我使用grunt --force
我的应用程序已损坏...
我在 Ubuntu 14.04
有任何想法吗?
此问题有两种解决方案,具体取决于您要使用的wiredep 版本。
如果您想使用“^1.9.0”,请确保从 Gruntfile.js 中删除 cwd 属性。如果您是 angular-generator 用户,并且当前在 Wiredep 任务的配置上指定了 cwd 属性,这是一个常见问题。
如果您不介意使用“1.8.0”,请确保将该版本固定在您的 package.json 中。如果您通过 grunt-wiredep 包含wiredep,那么您将必须手动添加wiredep 并将其固定。如果您坚持使用“1.8.0”,请将 cwd 属性保留在任务的配置中。
在google joshs解决方案上进行了相当多的搜索后很好解决了我的问题。我刚刚删除<%= yeoman.app %>
wiredep: {
options: { */code was here */ }
}
解决方案是从 Grunfile.js 中删除 cwd 属性
请参阅此内容以供参考:
我从 Melmoth 找到的这个答案:
加上注释掉 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.json
to charlotteFolder/app/bower.json
(实际上不要这样做,因为它是错误的)
然后抛出错误:Running "wiredep:app" (wiredep) task
Cannot find where you keep your Bower packages.
这让我想到了Melmoth 的答案Cannot find Bower packages
——他的解决方案与cwd
注释掉Gruntfile.js
.
您必须将 grunt-wiredep 依赖项设置为修复版本。
“咕噜声”:“1.8.0”,