meteoric / meteor-ionic

Ionic components for Meteor. No Angular!
http://meteoric.github.io
MIT License
1.51k stars 219 forks source link

fourseven:scss@1.2.3: No compatible build found #45

Closed dcsan closed 9 years ago

dcsan commented 9 years ago

on starting a new app with just meteoric, there was no styling applied. i assume since scss is not a dep of the meteoric package?

so i looked at one of your demo apps and pulled out the various packages there, but now hit the issue below.

any chance you would switch to stylus?

   While checking for fourseven:scss@1.2.3:
   error: No compatible build found

=> Your application has errors. Waiting for file change.
^C                                            
metion> meteor update
This project is already at Meteor 1.0.3.1, the latest release.
=> Errors while upgrading packages:           

While checking for fourseven:scss@1.2.3:
error: No compatible build found

metion> meteor update
This project is already at Meteor 1.0.3.1, the latest release.

Changes to your project's package version selections from updating package versions:

accounts-base                      added, version 1.1.3
accounts-password                  added, version 1.0.6
aldeed:autoform                    added, version 4.2.2
aldeed:collection2                 added, version 2.3.1
aldeed:simple-schema               added, version 1.1.0
anti:fake                          added, version 0.4.1
email                              added, version 1.0.5
fourseven:scss                     added, version 1.0.0
less                               added, version 1.0.12
localstorage                       added, version 1.0.2
matb33:collection-hooks            added, version 0.7.9
meteoric:autoform-ionic            added, version 0.1.4
meteoric:ionic-sass                added, version 0.1.7
meteoric:ionicons-sass             added, version 0.1.5
momentjs:moment                    added, version 2.8.4
npm-bcrypt                         added, version 0.7.7
service-configuration              added, version 1.0.3
sha                                added, version 1.0.2
softwarerero:accounts-t9n          added, version 1.0.5
srp                                added, version 1.0.2
useraccounts:core                  added, version 1.5.0
useraccounts:ionic                 added, version 1.5.0
wizonesolutions:underscore-string  added, version 1.0.0
zimme:iron-router-active           added, version 1.0.1

metion> meteor
[[[[[ ~/dev/shumi/fbox/metion ]]]]]           

=> Started proxy.                             
=> Started MongoDB.                           
=> Errors prevented startup:                  

   While building the application:
   client/layouts/app.scss: Scss compiler error: undefined
   /Users/dc/dev/shumi/fbox/metion/client/layouts/app.scss:1: file to import not
   found or unreadable:
   '.meteor/local/build/programs/server/assets/packages/meteoric_ionic-sass/ionic'
   Current dir: /Users/dc/dev/shumi/fbox/metion/client/layouts/

=> Your application has errors. Waiting for file change.
^C                                            
metion> scss --version
Sass 3.4.10 (Selective Steve)
dcsan commented 9 years ago

indeed the file:

'.meteor/local/build/programs/server/assets/packages/meteoric_ionic-sass/ionic'

doesnt exist in this new app. i'm not sure where this was meant to be generated from. can i just leave this out? the app seems to be styled now.

dcsan commented 9 years ago

btw i also removed the package that was failing, not sure where the pinned dependency is coming from.

nickw commented 9 years ago

This is expected behavior and is an issue with the way Meteor handles assets in packages. See the disclaimer here: https://github.com/meteoric/ionic-sass#installation

You need to add the following packages along with meteor-ionic to get the correct styling:

meteor add fourseven:scss
meteor add meteoric:ionic-sass

We are using Ionic's CSS framework, which is written in SASS, so Stylus or Less aren't options.

dcsan commented 9 years ago

this is still a nightmare

meteor-app> meteor update
This project is already at Meteor 1.0.3.1, the latest release.
=> Errors while upgrading packages:           

While checking for fourseven:scss@1.2.3:
error: No compatible build found

meteor-app> meteor add fourseven:scss
fourseven:scss without a version constraint has already been added.

meteor-app> meteor add meteoric:ionic-sass

meteoric:ionic-sass without a version constraint has already been added.

meteor-app> 
meteor-app> meteor update
This project is already at Meteor 1.0.3.1, the latest release.
=> Errors while upgrading packages:           

While checking for fourseven:scss@1.2.3:
error: No compatible build found
nickw commented 9 years ago

Yeah, this is an issue with fourseven:scss https://github.com/fourseven/meteor-scss/issues/60

fourseven commented 9 years ago

Hi all,

This is my fault - I tried to release a fourseven:scss@1.2.3 version but got stuck when the meteor supplied build boxes failed to build node-sass (requires GCC newer than the 4.4 that the linux boxes are running). I've released the linux versions of 1.2.3 via two EC2 ubuntu boxes now, since I have control of the build tools there.

You shouldn't have to pin to version 1.0.0 anymore @nickw - let me know if this isn't the case.

dcsan commented 9 years ago

I still get the problem below.

and there's no working workaround.

meteor add fourseven:scss@=2.0.0-beta_1

hangs. maybe that's a temporary problem with the package server, but removing the = on older versions will install the package, but then I still can't meteor update

https://github.com/fourseven/meteor-scss/issues/60

i wonder how much work to convert those scss files to stylus, so we have a working css preproc? It seems a shame all this great work on meteoric is blocked by a messed up version of a legacy css compiler.


> meteor update
This project is already at Meteor 1.0.3.1, the latest release.
=> Errors while upgrading packages:           

While checking for fourseven:scss@1.2.3:
error: No compatible build found

meteor-app> cat .meteor/versions
accounts-base@1.1.3
accounts-password@1.0.6
aldeed:autoform@4.2.0
aldeed:collection2@2.3.1
aldeed:simple-schema@1.1.0
anti:fake@0.4.1
application-configuration@1.0.4
autopublish@1.0.2
autoupdate@1.1.5
base64@1.0.2
binary-heap@1.0.2
blaze@2.0.4
blaze-tools@1.0.2
boilerplate-generator@1.0.2
callback-hook@1.0.2
check@1.0.4
coffeescript@1.0.5
ddp@1.0.14
deps@1.0.6
ejson@1.0.5
email@1.0.5
fastclick@1.0.2
follower-livedata@1.0.3
fourseven:scss@1.0.0
geojson-utils@1.0.2
html-tools@1.0.3
htmljs@1.0.3
http@1.0.10
id-map@1.0.2
insecure@1.0.2
iron:controller@1.0.7
iron:core@1.0.7
iron:dynamic-template@1.0.7
iron:layout@1.0.7
iron:location@1.0.7
iron:middleware-stack@1.0.7
iron:router@1.0.7
iron:url@1.0.7
jquery@1.11.3
json@1.0.2
launch-screen@1.0.1
less@1.0.12
livedata@1.0.12
localstorage@1.0.2
logging@1.0.6
matb33:collection-hooks@0.7.9
meteor@1.1.4
meteor-platform@1.2.1
meteoric:autoform-ionic@0.1.4
meteoric:ionic@0.1.13
meteoric:ionic-sass@0.1.7
meteoric:ionicons-sass@0.1.5
minifiers@1.1.3
minimongo@1.0.6
mobile-status-bar@1.0.2
mongo@1.0.11
mquandalle:jade@0.4.1
mrt:moment@2.6.0
natestrauser:font-awesome@4.2.0_1
npm-bcrypt@0.7.7
observe-sequence@1.0.4
ordered-dict@1.0.2
percolate:velocityjs@1.1.0
random@1.0.2
reactive-dict@1.0.5
reactive-var@1.0.4
reload@1.1.2
retry@1.0.2
routepolicy@1.0.4
service-configuration@1.0.3
session@1.0.5
sha@1.0.2
softwarerero:accounts-t9n@1.0.6
spacebars@1.0.5
spacebars-compiler@1.0.4
srp@1.0.2
stylus@1.0.6
templating@1.0.11
tracker@1.0.5
ui@1.0.5
underscore@1.0.2
url@1.0.3
useraccounts:core@1.4.1
useraccounts:ionic@1.4.1
webapp@1.1.6
webapp-hashing@1.0.2
wizonesolutions:underscore-string@1.0.0
zimme:iron-router-active@1.0.1

and also

cat .meteor/packages 
# Meteor packages used by this project, one per line.
# Check this file (and the other files in this directory) into your repository.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.

meteor-platform
autopublish
insecure

coffeescript
stylus

mquandalle:jade
iron:router
# ian:accounts-ui-bootstrap-3
# twbs:bootstrap
percolate:velocityjs
natestrauser:font-awesome
fastclick
reactive-var
# tinytest

# dcsan:dclib
# dcsan:ribot
# dcsan:streamer

accounts-password

fourseven:scss
zimme:iron-router-active
anti:fake
matb33:collection-hooks
aldeed:collection2
aldeed:autoform
meteoric:ionic-sass
meteoric:ionicons-sass
meteoric:ionic
meteoric:autoform-ionic
useraccounts:ionic

FWIW this problem prevented meteoric running on someone's machine with an indecipherable error message, see https://github.com/meteoric/meteor-ionic/issues/69

nickw commented 9 years ago

@dcsan I'm not sure what stylus has to do with it? We need to stick to whatever preprocessor Ionic is using so we don't have to convert the files. I think there are other, possibly better, SCSS solutions for Meteor. Feel free to investigate. I haven't hit this issue yet, so I haven't tried to fix it yet myself. Alternatively you could just manually put all the scss files in your app for the time being.

dcsan commented 9 years ago

I'm not sure what stylus has to do with it?

it's a smooth sailing alternative to using the hot mess of sass compilers. libsass or ruby and compass. i imagine it wouldn't be a big deal to convert ionic scss once, but agree that keeping in sync with ionic upstream would be a burden.

so how do you avoid these issues? in my experience it's a complete blocker for a clean install of meteoric atm. and i don't mean if you need to customize the files - just to get the app to boot.

i only have experience of a few machines with meteoric, but ALL of them have problems with sass, from at best the compiler not running, to downgrading meteoric itself and blocking meteor update

in terms of other scss the fourseven package has waay the most downloads. https://atmospherejs.com/?q=scss possibly cos its a dep for some other bootstrap package?

interestingly the ian:bootstrap is now using stylus. I thought bootstrap was still stuck with sass?

https://github.com/ianmartorell/meteor-accounts-ui-bootstrap-3/blob/master/package.js

nickw commented 9 years ago

it's a smooth sailing alternative to using the hot mess of sass compilers

Well, so is Less ;) Which is why I was wondering why Stylus kept entering the discussion. But yes, I absolutely agree that we need to figure out better, cleaner SCSS support.

so how do you avoid these issues?

Since I haven't experienced them myself, I'm not sure yet.

kaushik1979 commented 9 years ago

The import paths are wrong. If you navigate to the .meteor/.../ directory, the scss files start with _. Replace your imports with the following and it should work.

@import '.meteor/local/build/programs/server/assets/packages/meteoric_ionic-sass/_ionic'; @import '.meteor/local/build/programs/server/assets/packages/meteoric_ionicons-sass/_ionicons';

muvic08 commented 9 years ago

@kaushik1979, I tried you solution with no luck.

muvic08 commented 9 years ago

There is a solution to "file to import not found or unreadable" error at readme of https://github.com/meteoric/ionic-sass project.

"NOTE: Due to a current limitation of the Meteor packaging system, the above path may not exist the first time you run your Meteor app after installing this package. This will cause an error saying the file to import was not found. This may also occur if you run meteor reset. Restarting your app should fix this problem. See meteor/meteor#2606 and meteor/meteor#2796 for more info."

kaushik1979 commented 9 years ago

I did that and after that checked for the correct filename. The one in the build folder had slightly different name (started with underscore instead).

muvic08 commented 9 years ago

scss parser must be escaping the "_" because it works with or without underscore (at least for me)