21

我正在尝试制作我的第一个 yeoman 应用程序。我按照以下链接中的每一步操作: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: {} }
4

9 回答 9

12

我刚刚遇到了类似的问题,在尝试排除故障时遇到了这篇文章。我通过在 Yeoman 项目的一个已关闭的 GitHub 问题中找到的提示找到了答案。

我的解决方案是删除我的~/.bower目录(Mac)并bower install在我的项目的主目录中再次运行。一旦我这样做了,我发现 bower_components 目录是它应该在的位置,并且示例项目按预期运行。看起来你在 Windows 机器上,我不确定 Bower 目录在哪里,但如果你能找到它,试试这个。

于 2013-06-02T00:36:24.117 回答
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 添加到末尾即可。

要测试它是否有效,请从 cmd 输入 git 并按 Enter。如果您返回无法识别的“git”,则它不起作用。如果你找回 git 的东西,你就可以走了。Yeoman 从现在开始可以通过 cmd 正常工作

于 2013-08-07T00:27:12.633 回答
4

好的,我成功了。仅当我按以下顺序执行时它才有效:

  1. 哟骨干
  2. 咕哝
  3. 凉亭缓存清洁
  4. 删除所有由“yo主干”命令制作的项目文件
  5. 哟骨干
  6. 咕哝
  7. 咕噜服务器

我知道这有点奇怪,但我真的必须那样做。

于 2013-06-03T22:23:53.760 回答
3

我将我的项目移动到另一个目录并遇到了这个问题。只需将 .bowerrc 从旧项目目录移动到新目录。

不要忘记你的隐藏文件,孩子们!他们不会自己动。

于 2014-06-11T14:26:04.707 回答
1

当我尝试将项目迁移到 Windows 时遇到了这个问题。

我不得不安装 ruby​​、git、compass、yeoman 完全不正常,然后记住 tonpm install是不可能的。

安装完所有东西后,我收到了上面的错误。

我把头撞在墙上,我删除了项目文件夹并再次从 git 下载它。开始新鲜。

npm install bower install grunt serve 有效。

归根结底,我的问题是我在确保已修复所有依赖项之前尝试运行服务器。

于 2014-04-01T19:36:15.763 回答
1

我通常为 Yeoman 应用程序编写这样的启动脚本:

开始.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
于 2014-04-02T14:22:17.320 回答
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

因此,当我取消选中 angular sanitize 时,一切正常。希望对你有帮助!

于 2013-12-08T08:07:30.763 回答
0

刚刚使用 Yeoman Teams Backbone Generator 遇到了同样的问题;在这里找到。

我修复它的方法很简单..

哟主干:appName

凉亭安装

由于某种原因,生成器没有安装 bower_components,因此手动运行命令解决了问题。

于 2015-01-21T19:13:59.937 回答
0

它正在寻找 bower_components app/bower_components。如果您的 bower_components 目录存在,请确保您的 grunt 配置正在寻找正确的路径。

于 2014-08-29T08:29:04.947 回答