yeoman / yeoman

Yeoman - a set of tools for automating development workflow
http://yeoman.io
10.08k stars 734 forks source link

Still getting errors on `yeoman build`: clean install. #205

Closed commadelimited closed 12 years ago

commadelimited commented 12 years ago

Just wanted to let you know that I'm still getting errors running yeoman build.

1) Uninstalled then reinstalled this morning. 2) Created a new dir, ran yeoman init no problems. 3) Immediately ran yeoman build and received an error:

☀  ymtest  yeoman build
Running "build" task
Running usemin target
  - intro clean mkdirs coffee compass usemin-handler rjs concat css img rev usemin manifest copy time
Running "intro" task
Running "clean" task
Running "mkdirs:staging" (mkdirs) task
Copying into /Users/andymatthews/Desktop/ymtest/intermediate
Ignoring .gitignore, .ignore, .buildignore
...........................
>> /Users/andymatthews/Desktop/ymtest/app -> /Users/andymatthews/Desktop/ymtest/intermediate

Running "coffee:dist" (coffee) task
Running "compass:dist" (compass) task
Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help.
<FATAL> Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help. </FATAL>

I do have compass installed as I'm using it stand-alone with Sass for CodeKit. There might be some legit explanation for this behavior but if a command is there for a user it should work. Especially on a brand new project. Is there some sort of flag that needs to be passed into the yeoman init command to prevent this from happening?

addyosmani commented 12 years ago

Confirmed as of latest.

@paulmillr do you think this has anything to do with the recent changes to our SASS config at all? I'm looking through the changelog to establish what broke.

@commadelimited could you possibly checkout 2d65a479f5dc0f2dfbceda651482fee2dc738aa3? It's from before the config changes were made.

yonkeltron commented 12 years ago

I can confirm this issue running on Linux, Debian Wheezy (testing).

sindresorhus commented 12 years ago

You might be running an outdated version of Yeoman. I've updated the install instruction to make sure the latest is used. Can you run sudo npm link in the /cli dir and then create a new yeoman project and try again?

commadelimited commented 12 years ago

I uninstalled and reinstalled from master just this morning. Trying sudo npm link now.

And same issue, same error.

sindresorhus commented 12 years ago

I'm stumped. I just can't reproduce this.

Can you post the CLI output, and the resulting directory tree (either tree or ls -R) ?

paulmillr commented 12 years ago

@addyosmani not sure, everything seems to be correct

ghost commented 12 years ago

The same here. yeoman init -> no / no / yes / no yeoman build

Running "compass:dist" (compass) task
Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help.
<FATAL> Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help. </FATAL>
sindresorhus commented 12 years ago

@clexit As asked above:

Can you post the CLI output, and the resulting directory tree (either tree or ls -R) ?

Also make sure you've done the npm link thingy.

mklabs commented 12 years ago

Can't reproduce either.

confraria commented 12 years ago

After yeoman init this is inside the styles folder:

app/styles/
├── main.css
└── normalize.css

and the yeoman build fails with this compass message:

<FATAL> Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help. </FATAL>

after manually adding this file inside folder sass

app/styles/
├── main.css
├── normalize.css
└── sass
    └── main.scss

then yeoman build runs without a problem

paulmillr commented 12 years ago

In this case I see two bugs:

  1. It doesn’t create app/styles/main.scss.
  2. It yells because there are no sass files. But it should not IMO.
tomlane commented 12 years ago

Compass always yells if there is no files for it to work with, when i was messing around with grunt if compass was not last to check for new files it would complain and hang the whole process if it didn't find any.

sindresorhus commented 12 years ago

@luisbug Can you include the complete CLI output and complete dir tree from the root of where you run yeoman init ?

@paulmillr

  1. I have no idea why that happens. Any thoughts?
  2. Fixed in 7a2166262f797a8d4328eb9954cb6b24253d9217. Known about it for a while, just forgot. I'm pretty sure it's a Compass bug though, but I've done a workaround for now.
confraria commented 12 years ago

CLI output: ► yeoman init Running "init:yeoman" (init) task This task will create one or more files in the current directory, based on the environment and the answers to a few questions. Note that answering "?" to any question will show question-specific help and answering "none" to most questions will leave its value blank.

"yeoman" template notes:

        _   .--------------------------.
      _|o|_ |    Welcome to Yeoman,    |
       |_|  |   ladies and gentlemen!  |
     / \Y/ \ o_________________________|
    ||  :  |//                          
    o/ --- \                            
      _\ /_                             

.. Invoke app ..

Please answer the following:
[?] Would you like to include the Twitter Bootstrap plugins? (Y/n) n
[?] Where would you like it be downloaded ? (not used if previous answer is no) (app/scripts/vendor/bootstrap) 
[?] Would you like to include RequireJS (for AMD support)? (Y/n) Y
[?] Would you like to support writing ECMAScript 6 modules? (Y/n) n
[?] Do you need to make any changes to the above before continuing? (y/N) n

Reading /Users/bug/temp/yeoman/cli/lib/generators/yeoman/app/templates/readme.md...OK
Writing readme.md...OK
Writing Gruntfile.js...OK
Writing package.json...OK
Reading /Users/bug/temp/yeoman/cli/lib/generators/yeoman/app/templates/gitignore...OK
Writing .gitignore...OK
Writing app/.gitattributes...OK
Writing app/.gitignore...OK
Writing app/.htaccess...OK
Writing app/404.html...OK
Writing app/apple-touch-icon-114x114-precomposed.png...OK
Writing app/apple-touch-icon-144x144-precomposed.png...OK
Writing app/apple-touch-icon-57x57-precomposed.png...OK
Writing app/apple-touch-icon-72x72-precomposed.png...OK
Writing app/apple-touch-icon-precomposed.png...OK
Writing app/apple-touch-icon.png...OK
Writing app/CHANGELOG.md...OK
Writing app/crossdomain.xml...OK
Writing app/css/main.css...OK
Writing app/css/normalize.css...OK
Writing app/doc/contribute.md...OK
Writing app/doc/crossdomain.md...OK
Writing app/doc/css.md...OK
Writing app/doc/extend.md...OK
Writing app/doc/faq.md...OK
Writing app/doc/htaccess.md...OK
Writing app/doc/html.md...OK
Writing app/doc/js.md...OK
Writing app/doc/misc.md...OK
Writing app/doc/README.md...OK
Writing app/doc/usage.md...OK
Writing app/favicon.ico...OK
Writing app/humans.txt...OK
Writing app/img/.gitignore...OK
Writing app/index.html...OK
Writing app/js/main.js...OK
Writing app/js/plugins.js...OK
Writing app/js/vendor/jquery-1.8.0.min.js...OK
Writing app/js/vendor/modernizr-2.6.1.min.js...OK
Writing app/LICENSE.md...OK
Writing app/README.md...OK
Writing app/robots.txt...OK
Reading /Users/bug/.yeoman/cache/jrburke/requirejs/819774388d0143f2dcc7b178a364e875aea6e45a/require.js...OK
Writing app/scripts/vendor/require.js...OK
Writing app/index.html...OK
Writing app/scripts/app.js...OK
Writing app/scripts/main.js...OK

Dir tree

.
├── Gruntfile.js
├── app
│   ├── 404.html
│   ├── CHANGELOG.md
│   ├── LICENSE.md
│   ├── README.md
│   ├── apple-touch-icon-114x114-precomposed.png
│   ├── apple-touch-icon-144x144-precomposed.png
│   ├── apple-touch-icon-57x57-precomposed.png
│   ├── apple-touch-icon-72x72-precomposed.png
│   ├── apple-touch-icon-precomposed.png
│   ├── apple-touch-icon.png
│   ├── crossdomain.xml
│   ├── doc
│   │   ├── README.md
│   │   ├── contribute.md
│   │   ├── crossdomain.md
│   │   ├── css.md
│   │   ├── extend.md
│   │   ├── faq.md
│   │   ├── htaccess.md
│   │   ├── html.md
│   │   ├── js.md
│   │   ├── misc.md
│   │   └── usage.md
│   ├── favicon.ico
│   ├── humans.txt
│   ├── img
│   ├── index.html
│   ├── robots.txt
│   ├── scripts
│   │   ├── app.js
│   │   ├── main.js
│   │   ├── plugins.js
│   │   └── vendor
│   │       ├── jquery-1.8.0.min.js
│   │       ├── modernizr-2.6.1.min.js
│   │       └── require.js
│   └── styles
│       ├── main.css
│       └── normalize.css
├── package.json
├── readme.md
└── temp
    ├── 404.html
    ├── CHANGELOG.md
    ├── LICENSE.md
    ├── README.md
    ├── apple-touch-icon-114x114-precomposed.png
    ├── apple-touch-icon-144x144-precomposed.png
    ├── apple-touch-icon-57x57-precomposed.png
    ├── apple-touch-icon-72x72-precomposed.png
    ├── apple-touch-icon-precomposed.png
    ├── apple-touch-icon.png
    ├── crossdomain.xml
    ├── doc
    │   ├── README.md
    │   ├── contribute.md
    │   ├── crossdomain.md
    │   ├── css.md
    │   ├── extend.md
    │   ├── faq.md
    │   ├── htaccess.md
    │   ├── html.md
    │   ├── js.md
    │   ├── misc.md
    │   └── usage.md
    ├── favicon.ico
    ├── humans.txt
    ├── img
    ├── index.html
    ├── robots.txt
    ├── scripts
    │   ├── app.js
    │   ├── main.js
    │   ├── plugins.js
    │   └── vendor
    │       ├── jquery-1.8.0.min.js
    │       ├── modernizr-2.6.1.min.js
    │       └── require.js
    └── styles
        ├── main.css
        └── normalize.css

12 directories, 71 files
paulmillr commented 12 years ago

@sindresorhus no idea why.

confraria commented 12 years ago

Running these versions: Compass 0.12.2 (Alnilam) Sass 3.2.0 (Media Mark) ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

mattbanks commented 12 years ago

I just opened issue #210 which I think might be related to this (just saw this issue). Not having the compass --pre gem installed might be preventing yeoman from pulling in compass-twitter-bootstrap during init.

sindresorhus commented 12 years ago

@mattbanks If you've installed Yeoman correctly, they should have it: https://github.com/yeoman/yeoman/blob/master/setup/install.sh#L169

mattbanks commented 12 years ago

@sindresorhus I already had the compass gem installed (Compass 0.12.2) before installing yeoman, so when it checks if Compass is there, the if statement evaluates to true and the else statement never runs, so the --pre version never gets installed.

ghost commented 12 years ago

@sindresorhus my CLI output and the resulting tree is identical with @luisbug Tried to run

sudo gem update --system
sudo gem install compass --pre

but it didn't help.

Compass 0.13.alpha.0 (Markab) Sass 3.2.0.alpha.294 (Bleeding Edge) ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

It fails with code 1 "Nothing to compile". Can we check for it and just ignore?

sindresorhus commented 12 years ago

@clexit

It fails with code 1 "Nothing to compile". Can we check for it and just ignore?

Fixed that in 7a2166262f797a8d4328eb9954cb6b24253d9217

git pull --rebase

ghost commented 12 years ago

I'm now getting <FATAL> not found: phantomjs </FATAL> but compass error is fixed.

sindresorhus commented 12 years ago

@clexit Then you don't have phantomjs

brew install phantomjs

sindresorhus commented 12 years ago

Closing as @commadelimited confirmed it's working now.