错误没有这样的文件或目录'bower_components'

时间:2013-05-28 14:03:11

标签: yeoman bower

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

9 个答案:

答案 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运行也可以转到:

  • 开始菜单&gt;右键单击计算机&gt;特性
  • 在左侧,转到高级系统设置&gt;环境变量

在“系统变量”下,向下滚动并找到“路径”。单击编辑...并输入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&#39;没有认识到它没有奏效。如果你收回git的东西,你就会很高兴。 Yeoman将从现在开始通过cmd工作正常

答案 2 :(得分:4)

好的,我做到了。它只在我按此顺序执行时才有效:

  1. yo backbone
  2. 咕噜
  3. bower cache clean
  4. 删除'yo backbone'命令
  5. 生成的所有项目文件
  6. yo backbone
  7. 咕噜
  8. grunt server
  9. 我知道它有点奇怪,但我真的必须这样做。

答案 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,因此手动运行命令解决了问题。