Error installing npm grunt-libsass - gruntjs

I'm trying to install grunt-libsass like this:
npm install grunt-libsass --save-dev
but I get this error:
npm WARN engine grunt-libsass#0.2.1: wanted: {"node":"0.10.27"} (current: {"node":"5.1.1","npm":"3.3.12"})
npm WARN engine grunt-libsass#0.2.1: wanted: {"node":"0.10.27"} (current: {"node":"5.1.1","npm":"3.3.12"})
npm WARN deprecated grunt-libsass#0.2.1: No longer maintained
> node-sass#0.9.6 install /Applications/MAMP/htdocs/tome/wp-content/node_modules/node-sass
> node build.js
(node) child_process: options.customFds option is deprecated. Use options.stdio instead.
CXX(target) Release/obj.target/binding/binding.o
In file included from ../binding.cpp:1:
../../nan/nan.h:189:68: error: too many arguments to function call, expected at most 2, have 4
return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~
/Users/goliathus/.node-gyp/5.1.1/include/node/v8.h:4674:3: note: 'New' declared here
static Local<Signature> New(
^
In file included from ../binding.cpp:1:
../../nan/nan.h:271:3: error: redefinition of 'NanNew'
what does the error say and how to fix it?

I recommend you to use grunt-sass instead of grunt-libsass because it is no longer maintained.
This task uses libsass which is a Sass compiler in C++.

Related

Meteor build fails when run back to back

I'm trying to learn about the Meteor build process to improve it's performance for my dockerized Meteor app. I'm finding that if I run meteor build build --directory --server-only twice, back to back, I get an error about not being able to parse json on the second run.
Here's the successful first run:
❯❯❯ meteor build build --directory --server-only
WARNING: The output directory is under your source tree.
Your generated files may get interpreted as source code!
Consider building into a different directory instead
meteor build ../output
WARNING: npm peer requirements (for juliancwirko:postcss) not installed:
- postcss#8.2.6 installed, postcss#^7.0.0 needed
- postcss-load-config#3.0.1 installed, postcss-load-config#^2.1.0 needed
Read more about installing npm peer dependencies:
http://guide.meteor.com/using-packages.html#peer-npm-dependencies
Minifying app stylesheet /
Replace Autoprefixer browsers option to Browserslist config.
Use browserslist key in package.json or .browserslistrc file.
Using browsers option can cause errors. Browserslist config can
be used for Babel, Autoprefixer, postcss-normalize and other tools.
If you really need to use option, rename it to overrideBrowserslist.
Learn more at:
https://github.com/browserslist/browserslist#readme
https://twitter.com/browserslist
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist#latest --update-db
Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist#latest --update-db
Minifying app code \
and here's the unsuccessful second run. Note that I didn't do anything inbetween runs:
❯❯❯ meteor build build --directory --server-only
WARNING: The output directory is under your source tree.
Your generated files may get interpreted as source code!
Consider building into a different directory instead
meteor build ../output
WARNING: npm peer requirements (for juliancwirko:postcss) not installed:
- postcss#8.2.6 installed, postcss#^7.0.0 needed
- postcss-load-config#3.0.1 installed, postcss-load-config#^2.1.0 needed
Read more about installing npm peer dependencies:
http://guide.meteor.com/using-packages.html#peer-npm-dependencies
/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:
218
throw error;
^
SyntaxError: Unexpected token u in JSON at position 1
at JSON.parse (<anonymous>)
at /home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/fs/tools/fs/optimistic.ts:321:17
at wrap.makeCacheKey (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/fs/tools/fs/optimistic.ts:36:
15)
at recomputeNewValue (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimis
m/src/entry.ts:182:31)
at Slot.withValue (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/#wry/conte
xt/lib/context.js:73:29)
at reallyRecompute (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimism/
src/entry.ts:165:19)
at Entry.recompute (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimism/
src/entry.ts:85:9)
at optimistic (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimism/src/i
ndex.ts:101:25)
at /home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/fs/tools/fs/optimistic.ts:366:19
at recomputeNewValue (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimis
m/src/entry.ts:182:31)
at Slot.withValue (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/#wry/conte
xt/lib/context.js:73:29)
at reallyRecompute (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimism/
src/entry.ts:165:19)
at Entry.recompute (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimism/
src/entry.ts:85:9)
at optimistic (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/optimism/src/i
ndex.ts:101:25)
at find (/tools/isobuild/package-source.js:1339:30)
at /tools/isobuild/package-source.js:1395:27
at Array.forEach (<anonymous>)
at find (/tools/isobuild/package-source.js:1374:22)
at find (/tools/isobuild/package-source.js:1406:25)
at /tools/isobuild/package-source.js:1395:27
at Array.forEach (<anonymous>)
at find (/tools/isobuild/package-source.js:1374:22)
at /tools/isobuild/package-source.js:1395:27
at Array.forEach (<anonymous>)
at find (/tools/isobuild/package-source.js:1374:22)
at /tools/isobuild/package-source.js:1395:27
at Array.forEach (<anonymous>)
at find (/tools/isobuild/package-source.js:1374:22)
at /tools/isobuild/package-source.js:1395:27
at Array.forEach (<anonymous>)
at find (/tools/isobuild/package-source.js:1374:22)
at /tools/isobuild/package-source.js:1395:27
at Array.forEach (<anonymous>)
at find (/tools/isobuild/package-source.js:1374:22)
at /tools/isobuild/package-source.js:1418:34
at Object.withCache (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/fs/tools/fs/files.ts:1663:18)
at PackageSource._findSources (/tools/isobuild/package-source.js:1418:18)
at SourceArch.getFiles (/tools/isobuild/package-source.js:960:32)
at /tools/isobuild/compiler.js:406:23
at /tools/isobuild/compiler.js:186:28
at Object.withCache (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/fs/tools/fs/files.ts:1663:18)
at /tools/isobuild/compiler.js:185:11
at Function._.each._.forEach (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules
/underscore/underscore.js:186:9)
at Object.compile (/tools/isobuild/compiler.js:180:5)
at /tools/isobuild/bundler.js:3268:24
at Object.capture (/tools/utils/buildmessage.js:283:5)
at bundle (/tools/isobuild/bundler.js:3214:31)
at /tools/isobuild/bundler.js:3157:32
at Slot.withValue (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/#wry/conte
xt/lib/context.js:73:29)
at Object.withCache (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/fs/tools/fs/files.ts:1663:39)
at Object.bundle (/tools/isobuild/bundler.js:3157:16)
at buildCommand (/tools/cli/commands.js:1082:30)
at /tools/cli/commands.js:945:25
at Function.run (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/tool-env/tools/tool-env/profile.ts
:289:14)
at /tools/cli/commands.js:943:18
at /home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/fiber_pool.
js:43:40
=> awaited here:
at Promise.await (/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-prom
ise/promise_server.js:60:12)
at /tools/cli/main.js:1529:7
I've also tried doing the second run with a different directory output, but get the same result:
❯❯❯ meteor build .. --directory --server-only
WARNING: npm peer requirements (for juliancwirko:postcss) not installed:
- postcss#8.2.6 installed, postcss#^7.0.0 needed
- postcss-load-config#3.0.1 installed, postcss-load-config#^2.1.0 needed
Read more about installing npm peer dependencies: http://guide.meteor.com/using-packages.html#peer-npm-dependencies
/home/paymahn1/.meteor/packages/meteor-tool/.2.1.0.udr5f0.57lxg++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:
218
throw error;
^
SyntaxError: Unexpected token u in JSON at position 1
at JSON.parse (<anonymous>)
Why does meteor fail to build if I try to build it twice back to back?
What happens is that you produce your built app but not bundle it (using the --directory flag).
Therefore you have extra JS files in your file structure.
And in your attempts, they are mixed with your Meteor project structure, in a build folder (when you use command meteor build build --directory) or directly merged (meteor build .. --directory).
Therefore, on the next build run, Meteor picks these extra JS files as if they were part of your source code (eager loading), and fails, as suggested in the warning message:
The output directory is under your source tree.
Your generated files may get interpreted as source code!
Consider building into a different directory instead
meteor build ../output
It would have worked in your next attempt if you had specified an explicit sibling build folder, instead of just the parent folder (which therefore puts files directly in your Meteor project root), e.g. meteor build ../siblingFolder
Another possible workaround is to use a build folder name starting with a dot ., so that Meteor ignores it on the next runs when it looks for source code, e.g. meteor build ./.build
See special directories docs:
The following directories are also not loaded as part of your app code:
Files/directories whose names start with a dot, like .meteor and .git

Uncaught Error: Cannot find module 'stream'

Upon upgrading from Reaction Commerce v1.21.1 to v1.13.0 (which uses Meteor 1.7.0.1) I started getting the following stream error:
modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:241 Uncaught Error: Cannot find module 'stream'
at makeMissingError (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:241)
at require (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:251)
at bunyan.js (modules.js?hash=e8f82e706d01284fec46024b7d677bc1323d896a:47108)
at fileEvaluate (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:349)
at require (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:248)
at main.js (modules.js?hash=e8f82e706d01284fec46024b7d677bc1323d896a:46804)
at fileEvaluate (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:349)
at require (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:248)
at index.js (index.js:1)
at fileEvaluate (modules-runtime.js?hash=59942621baf2d3ff23916a0f601008fd2e310b63:349)
I did an rc reset -y (equivalent to meteor reset) deleting all node_modules and installing anew. Alas, this attempt did not prevail.
I then found this Stack Overflow answer and tried reinstalling Meteor with the meteor install script, no to avail:
https://stackoverflow.com/a/13314141/1762493
Here's my code:
https://github.com/MassDistributionMedia/rc-ca-blinds/tree/feature/version/rc1.13.0-dev1
I fixed this by using yarn instead of npm install on Meteor 1.8.0.2.
https://github.com/meteor/meteor/issues/10451

Can't run encore dev

Why i have this erros when I want to use yarn run encore dev ? When I want to add sass i get warning " > sass-loader#6.0.7" has unmet peer dependency "webpack#^2.0.0 || ^3.0.0 || ^4.0.0". But why ? Symfony 4. I cant install from github this modules npm install --save child_process fork-ts-checker-webpack-plugin fs module net readline spdx-exceptions spdx-license-ids spdx-license-ids/deprecated
yarn run encore dev
yarn run v1.5.1
$ c:\xampp\htdocs\dashboard\Symfony\pppp\node_modules.bin\encore dev
Running webpack ...
ERROR Failed to compile with 50 errors 09:48:38
These dependencies were not found:
child_process in ./node_modules/execa/index.js, ./node_modules/execa/node_modules/cross-spawn/index.js and 1 other
fork-ts-checker-webpack-plugin in ./node_modules/#symfony/webpack-encore/lib/plugins/forked-ts-types.js
fs in ./node_modules/#symfony/webpack-encore/lib/WebpackConfig.js, ./node_modules/#symfony/webpack-encore/lib/config/parse-runtime.js and 35 others
module in (webpack)/lib/NormalModule.js, (webpack)/lib/node/NodeTargetPlugin.js
net in ./node_modules/growly/lib/gntp.js, ./node_modules/node-notifier/lib/checkGrowl.js
readline in ./node_modules/friendly-errors-webpack-plugin/src/output.js
spdx-exceptions in ./node_modules/spdx-expression-parse/scan.js
spdx-license-ids in ./node_modules/spdx-correct/index.js, ./node_modules/spdx-expression-parse/scan.js
spdx-license-ids/deprecated in ./node_modules/spdx-expression-parse/scan.js
To install them, you can run: npm install --save child_process fork-ts-checker-webpack-plugin fs module net readline spdx-exceptions spdx-license-ids spdx-license-ids/deprecated
error An unexpected error occurred: "Command failed.
Exit code: 2
Command: C:\WINDOWS\system32\cmd.exe
Arguments: /d /s /c c:\xampp\htdocs\dashboard\Symfony\pppp\
ode_modules\.bin\encore dev
Directory: c:\xampp\htdocs\dashboard\Symfony\pppp
Output:
".
info If you think this is a bug, please open a bug report with the information provided in "c:\xampp\htdocs\dashboard\Symfony\swisscar\yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
I suspect you have solved this issue by now but if not the solution to the problem lie in reading the error message. For starters the 'yarn run encore dev' is complaining that some dependencies required by some of the libraries your application depend on, are missing from your installation of node.

Potential conflict between polymer build and tur-nr/polymer-redux

Description
I am experiencing unexpected errors when running polymer build after installing and using tur-nr/polymer-redux. Here is the demo repo.
Versions & Environment
polymer-build: v0.18.3 polymer --version
node: v6.10.2
Operating System: macOS Sierra v10.12.4
Steps to reproduce
terminal
git clone https://github.com/maria-le/redux # clone remote repo to your local
cd redux # cd into your local repo
bower install # install bower dependencies
npm install redux # install redux
polymer build # attempt build
Expected results
I expect the build to complete, without errors. Then allow me to serve the packaged build.
Actual results
I get the following errors in the terminal.
Error messages
src/all-locally.html(14,16) error [unknown-polymer-behavior] - Unable to resolve behavior store. Did you import it? Is it annotated with #polymerBehavior?
ReduxStore
src/imported-behavior.html(7,16) error [unknown-polymer-behavior] - Unable to resolve behavior ReduxStore. Did you import it? Is it annotated with #polymerBehavior?
polymerStore
src/imported-store-as-variable.html(10,16) error [unknown-polymer-behavior] - Unable to resolve behavior polymerStore. Did you import it? Is it annotated with #polymerBehavior?
PolymerRedux(reduxStore)
src/imported-store.html(7,16) warning [could-not-determine-behavior-name] - Could not determine behavior name from expression of type
CallExpression
error: Promise rejection: Error: 3 error(s) occurred during build.
error: Error: 3 error(s) occurred during build.
at BuildAnalyzer._done (/usr/local/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:229:36)
at BuildAnalyzer. (/usr/local/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:189:26)
at next (native)
at fulfilled (/usr/local/lib/node_modules/polymer-cli/node_modules/polymer-build/lib/analyzer.js:17:58)
at process._tickCallback (internal/process/next_tick.js:109:7)
References
How to use polymer-redux with polymer-build?
polymer lint and polymer-build fail due to ReduxBehavior not registering properly
#polymerBehavior should still produce a behavior even if we can't evaluate the expression

Grunt plugin grunt-exec v2.0.0 doesn't execute a simple command while v1.0.1 does

I was using grunt-exec v1.0.1 with this configuration in Gruntfile.js:
grunt.initConfig({
exec: {
tsc: {
cmd: "tsc"
}
},
...
}
...
grunt.loadNpmTasks('grunt-exec');
grunt.registerTask('debug', [
...
'exec:tsc',
...
]);
Then running grunt debug in console tsc is executed correctly.
In another project with similar configuration it's installed the last version of
grunt-exec(v.2.0.0) and running grunt-debug the next error is returned:
Running "exec:tsc" (exec) task
>> Failed with: Error: spawn tsc ENOENT
Warning: Task "exec:tsc" failed. Use --force to continue.
With -verbose option it returns:
Running "exec:tsc" (exec) task
Verifying property exec.tsc exists in config...OK
File: [no files]
tsc
buffer : disabled
timeout : infinite
killSig : SIGTERM
shell : true
command : tsc
args : []
stdio : [ignore,pipe,pipe]
cwd : D:\Pruebas\Angular 2\ATemplate
exitcodes: 0
pid : undefined
>> Failed with: Error: spawn tsc ENOENT
Warning: Task "exec:tsc" failed. Use --force to continue.
I know I can have it working using v1.0.1 of grunt-exec but I want to know how must I do it with v2.0.0. The project documentation in github has not given me a clue.
Looks like the grunt-exec version v2.0.0 uses some ECMAScript features that are not supported in older versions of node.
The first one i saw was:
Symbol.match, String.prototype.endsWith that is not supported in node < v6.10.2
See here: http://node.green/
Upgrade your node version to fix this issue.

Resources