我正在尝试制作我的第一个自耕农应用程序。我按照以下链接中的每一步操作:http://ponderingdeveloper.com/2013/03/08/preparing-a-windows-machine-to-use-yeoman/
当我执行yo webapp
时一切顺利。
但是当我使用grunt
命令时,我遇到了以下错误:
grunt --trace
Running "jshint:all" (jshint) task
>> 4 files lint free.
Running "clean:server" (clean) task
Cleaning ".tmp"...OK
Running "concurrent:test" (concurrent) task
Running "coffee:dist" (coffee) task
Warning: Errno::ENOENT on line ["33"] of C: No such file or directory - C:/D
ysk Google/Sublime/Norbert/motocycle/app/bower_components
Run with --trace to see the full backtrace Use --force to continue.
Aborted due to warnings.
我查找了bower_components文件夹 - 它不存在。我知道我可以更改.bowerrc
文件中的目录,但我不知道哪个目录是正确的,我找不到它。
编辑:程序版本:
C:\Dysk Google\Sublime\Norbert\motocycle>grunt --version
grunt-cli v0.1.8
grunt v0.4.1
C:\Dysk Google\Sublime\Norbert\motocycle>yo --version
1.0.0-beta.6
C:\Dysk Google\Sublime\Norbert\motocycle>bower --version
0.9.2
C:\Dysk Google\Sublime\Norbert\motocycle>npm view generator-webapp
npm http GET https://registry.npmjs.org/generator-webapp
npm http 200 https://registry.npmjs.org/generator-webapp
{ name: 'generator-webapp',
description: 'Default Yeoman generator for scaffolding out a front-end web app
',
'dist-tags': { latest: '0.2.2' },
versions:
[ '0.1.0',
'0.1.1',
'0.1.2',
'0.1.3',
'0.1.4',
'0.1.5',
'0.1.6',
'0.1.7',
'0.2.0',
'0.2.1',
'0.2.2' ],
maintainers: 'sindresorhus <sindresorhus@gmail.com>',
time:
{ '0.1.0': '2013-02-14T18:59:31.790Z',
'0.1.1': '2013-02-14T20:50:59.965Z',
'0.1.2': '2013-02-15T16:08:42.448Z',
'0.1.3': '2013-02-15T23:08:13.255Z',
'0.1.4': '2013-02-16T01:02:02.732Z',
'0.1.5': '2013-02-25T19:56:03.458Z',
'0.1.6': '2013-04-08T21:07:10.932Z',
'0.1.7': '2013-04-10T22:12:39.652Z',
'0.2.0': '2013-05-13T17:53:11.177Z',
'0.2.1': '2013-05-13T18:06:06.017Z',
'0.2.2': '2013-05-13T18:09:12.609Z' },
author: 'Chrome Developer Relations',
repository:
{ type: 'git',
url: 'git://github.com/yeoman/generator-webapp.git' },
users: { passy: true },
version: '0.2.2',
keywords:
[ 'yeoman-generator',
'web',
'app',
'front-end',
'h5bp',
'modernizr' ],
homepage: 'https://github.com/yeoman/generator-webapp',
bugs: 'https://github.com/yeoman/generator-webapp/issues',
main: 'app/index.js',
scripts: { test: 'mocha --reporter spec' },
dependencies:
{ 'yeoman-generator': '~0.11.1',
cheerio: '~0.10.8' },
peerDependencies: { 'generator-mocha': '~0.1.1' },
devDependencies: { mocha: '~1.9.0' },
engines: { node: '>=0.8.0' },
licenses: { type: 'BSD' },
readmeFilename: 'readme.md',
dist:
{ shasum: 'd9f69e7dbf0fd680b30abaf710d47fe38e50fd12',
tarball: 'http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.2
.2.tgz' },
directories: {} }
答案 0 :(得分:12)
我遇到了类似的问题,在尝试进行问题排查时遇到了这个帖子。我用a closed GitHub issue for the Yeoman project中的提示找到了它。
我的解决方案是删除我的~/.bower
目录(Mac)并在项目的主目录中再次运行bower install
。一旦我这样做,我发现bower_components目录就在那里,并且示例项目按预期运行。看起来你在Windows机器上,我不确定Bower目录在哪里,但如果你能找到它,试一试。
答案 1 :(得分:10)
它比所有这些简单得多。 Bower或Grunt-Karma的问题不在于此问题。问题发生在此之前。您需要Git来安装这些组件。节点包管理器(npm)可以处理所有内容。但某些事情需要Git。
因此,您正在使用Windows,并且您还没有安装Git,或者您尝试通过cmd shell运行它。如果您安装了Git,请通过Git Bash运行Yeoman,否则将其设置为从cmd shell运行也可以转到:
在“系统变量”下,向下滚动并找到“路径”。单击编辑...并输入Git Bash的路径。在已经存在的路径之前放置一个分号以分隔它们是很重要的。你也不需要引号或实际的sh.exe。看起来应该是这样的:
C:\Ruby193\bin;%SystemRoot%\system32;C:\Program Files\nodejs\;C:\Program Files (x86)\Git\bin\
所以你可以先看到我们有Ruby,然后是system32,然后是nodejs,最后是git。这只是您可能会看到的一些内容。不要改变任何东西只是添加git到底。 p>
要测试它是否有效,请从cmd类型git并按Enter键。如果你回来了git&#39;没有认识到它没有奏效。如果你收回git的东西,你就会很高兴。 Yeoman将从现在开始通过cmd工作正常
答案 2 :(得分:4)
好的,我做到了。它只在我按此顺序执行时才有效:
我知道它有点奇怪,但我真的必须这样做。
答案 3 :(得分:3)
我将项目移到了另一个目录并遇到了这个问题。 只需要将.bowerrc从旧项目目录移动到新项目目录。
不要忘记你的隐藏文件,孩子们!他们不会自己动手。
答案 4 :(得分:1)
当我尝试将项目迁移到Windows时,我遇到了这个问题。
完全无序,我不得不安装ruby,git,指南针,yeoman,然后记住npm install
只是不可能。
安装完所有内容后,我收到了上述错误。
我的头靠在墙上,我删除了项目文件夹并再次从git下载。重新开始。
npm install
bower install
grunt serve
它奏效了。
在一天结束时,我的问题是我在确保修复了所有依赖项之前尝试运行服务器。
答案 5 :(得分:1)
我经常为Yeoman应用程序编写这样的启动脚本:
start.sh:
mkdir ~/projectdir/app/bower_components
cd ~/projectdir/app/
sudo apt-get install ruby &&
sudo gem install sass compass &&
npm install &&
sudo npm install -g grunt-cli &&
sudo npm install -g bower &&
grunt
答案 6 :(得分:0)
我有同样的问题,我的情况的根本原因是,当我使用yo angular命令构建项目结构时,有选择角度库的步骤,我选择了其中的四个。但在此过程中,在安装angular-sanitize 1.2.0期间发生了错误。
bower angular-sanitize#~1.2.0 ENOTFOUND Request to https://bower.herokuapp.com/packages/angular-sanitize failed: getaddrinfo ENOTFOUND
所以当我取消选中角度消毒时,一切正常。 希望这会对你有所帮助!
答案 7 :(得分:0)
正在寻找app/bower_components
的bower_components。如果您的bower_components目录存在,请确保您的grunt配置正在寻找正确的路径。
答案 8 :(得分:0)
使用Yeoman Teams Backbone Generator时遇到了同样的问题;找到here。
我修复它的方式很简单..
yo backbone:appName
bower install
由于某种原因,生成器没有安装bower_components,因此手动运行命令解决了问题。