npm install fails while dependency build - node.js

I am running npm install for below package.json project file:
{
"name": "tradesync",
"version": "1.0.0",
"description": "",
"main": "consumer.js",
"dependencies": {
"async": "^2.6.1",
"avsc": "^5.1.1",
"cron": "^1.3.0",
"deepstream.io-client-js": "^2.3.0",
"firebase-admin": "^5.5.1",
"got": "^8.3.1",
"kafka-avro": "^0.8.0",
"mysql": "^2.15.0",
"node-avro-io": "^1.0.1",
"node-cron": "^1.2.1",
"node-rdkafka": "^2.2.2",
"orderbook-engine": "^1.1.2",
"requestretry": "^1.12.2",
"schema-registry": "^1.17.0",
"slack-node": "^0.1.8",
"socket.io-client": "^2.0.4",
"tedious": "^2.1.5",
"tedious-connection-pool": "^1.0.5",
"underscore": "^1.8.3",
"winston": "^2.4.1"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"ordermatcher",
"mywallet"
],
"author": "",
"license": "ISC",
"bugs": {
"url": ""
},
"homepage": ""
}
It's breaking and showing error logs at v8 functions, here is the partial snapshot of error logs
/home/local/mywallet/suresh.prajapati/.node-gyp/10.6.0/include/node/v8.h:3914:44: note: candidate expects 1 argument, 2 provided
../src/Int64.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Int64::Sub(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/Int64.cc:361:53: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local<v8::Value> [2])’
Local<Object> instance = cons->NewInstance(2, argv);
^
In file included from /home/local/mywallet/suresh.prajapati/.node-gyp/10.6.0/include/node/node.h:63:0,
from ../src/Int64.cc:5:
/home/local/mywallet/suresh.prajapati/.node-gyp/10.6.0/include/node/v8.h:3911:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
^
/home/local/mywallet/suresh.prajapati/.node-gyp/10.6.0/include/node/v8.h:3911:44: note: candidate expects 3 arguments, 2 provided
/home/local/mywallet/suresh.prajapati/.node-gyp/10.6.0/include/node/v8.h:3914:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
^
/home/local/mywallet/suresh.prajapati/.node-gyp/10.6.0/include/node/v8.h:3914:44: note: candidate expects 1 argument, 2 provided
Int64.target.mk:102: recipe for target 'Release/obj.target/Int64/src/Int64.o' failed
make: *** [Release/obj.target/Int64/src/Int64.o] Error 1
make: Leaving directory '/home/local/mywallet/suresh.prajapati/projects/tradesync/node_modules/int64-native/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.13.0-45-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build"
gyp ERR! cwd /home/local/mywallet/suresh.prajapati/projects/tradesync/node_modules/int64-native
gyp ERR! node -v v10.6.0
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! int64-native#0.4.0 install: `node-gyp configure && node-gyp build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the int64-native#0.4.0 install script.
Here is sys version info
node - v10.6.0
npm - 6.1.0
Python - 2.7.12
Searched on the internet but none of them actually helped. Ready to try out anything which can solve above build fail problem.
Tons of thanks in advance.

This can be a Node issue. Try to install latest LTS version https://nodejs.org/en/download/ .
Should fix it.

Related

Getting npm ERR! ERESOLVE could not resolve when I give npm install in my node project

I'm getting the below error when I do npm install in my project
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: react-scripts#4.0.1
npm ERR! Found: typescript#4.1.3
npm ERR! node_modules/typescript
npm ERR! dev typescript#"^4.1.3" from the root project
npm ERR! peer typescript#">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" from tsutils#3.21.0
npm ERR! node_modules/tsutils
npm ERR! tsutils#"^3.21.0" from #typescript-eslint/eslint-plugin#4.28.3
npm ERR! node_modules/#typescript-eslint/eslint-plugin
npm ERR! peer #typescript-eslint/eslint-plugin#"^4.0.0" from eslint-config-react-app#6.0.0
npm ERR! node_modules/eslint-config-react-app
npm ERR! eslint-config-react-app#"^6.0.0" from react-scripts#4.0.1
npm ERR! node_modules/react-scripts
npm ERR! 2 more (eslint-plugin-jest, react-scripts)
npm ERR! tsutils#"^3.21.0" from #typescript-eslint/typescript-estree#4.28.3
npm ERR! node_modules/#typescript-eslint/typescript-estree
npm ERR! #typescript-eslint/typescript-estree#"4.28.3" from #typescript-eslint/experimental-utils#4.28.3
npm ERR! node_modules/#typescript-eslint/experimental-utils
npm ERR! #typescript-eslint/experimental-utils#"4.28.3" from #typescript-eslint/eslint-plugin#4.28.3
npm ERR! node_modules/#typescript-eslint/eslint-plugin
npm ERR! 1 more (eslint-plugin-jest)
npm ERR! 1 more (#typescript-eslint/parser)
npm ERR! 1 more (#typescript-eslint/typescript-estree)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional typescript#"^3.2.1" from react-scripts#4.0.1
npm ERR! node_modules/react-scripts
npm ERR! dev react-scripts#"^4.0.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: typescript#3.9.10
npm ERR! node_modules/typescript
npm ERR! peerOptional typescript#"^3.2.1" from react-scripts#4.0.1
npm ERR! node_modules/react-scripts
npm ERR! dev react-scripts#"^4.0.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
This is my package.json
{
"name": "node_modules",
"version": "1.0.7",
"private": true,
"license": "ISC",
"dependencies": {
"#microsoft/applicationinsights-react-js": "^2.3.1",
"#microsoft/applicationinsights-web": "^2.3.1",
"#progress/kendo-common": "^0.2.1",
"#progress/kendo-data-query": "^1.5.4",
"#progress/kendo-drawing": "^1.9.3",
"#progress/kendo-file-saver": "^1.1.0",
"#progress/kendo-react-charts": "^3.18.0",
"#progress/kendo-react-common": "^3.18.0",
"#progress/kendo-react-inputs": "^3.18.0",
"#progress/kendo-react-intl": "^3.18.0",
"#progress/kendo-react-layout": "^3.18.0",
"#progress/kendo-react-popup": "^3.18.0",
"#progress/kendo-theme-default": "^4.32.0",
"#progress/kendo-theme-material": "^3.28.0",
"#telerik/kendo-intl": "^2.3.0",
"async": "^2.6.4",
"azure-maps-control": "^2.0.31",
"ejs": "^3.1.7",
"hammerjs": "^2.0.8",
"jquery": "^3.5.1",
"kendo-ui-react": "^0.14.2",
"minimist": "^1.2.6",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"typescript-collections": "^1.3.3",
"web-vitals": "^0.2.4",
"y18n": "^5.0.5"
},
"devDependencies": {
"#fortawesome/fontawesome-free": "^5.15.2",
"#testing-library/jest-dom": "^5.11.9",
"#testing-library/react": "^11.2.3",
"#testing-library/user-event": "^12.6.2",
"#types/history": "^4.7.8",
"#types/jest": "^26.0.20",
"#types/jquery": "^3.5.5",
"#types/node": "^12.19.15",
"#types/react": "^16.9.0",
"#types/react-dom": "^16.9.0",
"react-scripts": "^4.0.1",
"typescript": "^4.1.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
I don't understand how to fix this issue.
Try doing npm install --legacy-peer-deps

laravel-elixir Causing `npm install` to Error and cannot run `gulp`

I am having an issue with adding laravel-elixir to my package.json file in order to run gulp. When I run the command $ gulp i receive an error stating that laravel-elixir module cannot be found. So, adding the module to my package.json file then running npm install causes an error. (npm install works fine without the laravel-elixir module in package.json)
I have read through all the documentation and have ensured everything is installed. This seems to be a bit of an issue from what i have researched (sorry in advanced if this might be a dublicate). I just cannot seem to find the fix here. Please comment and let me know if you need to see the errors or anything.
package.json
{
"private": true,
"devDependencies": {
"gulp": "^3.9.1",
"gulp-bower": "0.0.13",
"run-sequence": "^1.2.2",
"babel-cli": "^6.7.7",
"babel-preset-es2015": "^6.9.0",
"chai": "^3.5.0",
"laravel-elixir-browserify-official": "^0.1.3",
"laravel-elixir-coffeescript": "^1.0.2",
"laravel-elixir-rollup-official": "^1.0.4",
"laravel-elixir-stylus": "^2.0.2",
"laravel-elixir-vue": "^0.1.4",
"laravel-elixir-webpack-official": "^1.0.1",
"mocha": "^2.4.5",
"rimraf": "^2.5.2",
"laravel-elixir": "^4.0.0"
},
"dependencies": {
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"es2015": "0.0.0",
"gulp-install": "^1.1.0",
"react": "^0.14.6",
"vue": "^1.0.28",
"vue-resource": "^0.5.1",
"vue-router": "^0.7.13",
"vue-validator": "^2.1.7",
"gulp-coffee": "^2.3.1",
"clean-css": "^3.4.12",
"cli-table": "^0.3.1",
"del": "^2.2.0",
"glob": "^7.0.3",
"gulp-autoprefixer": "^3.1.0",
"gulp-batch": "^1.0.5",
"gulp-concat": "^2.6.0",
"gulp-if": "^2.0.0",
"gulp-less": "^3.0.5",
"gulp-load-plugins": "^1.2.2",
"gulp-notify": "^2.2.0",
"gulp-rename": "^1.2.2",
"gulp-rev": "^7.0.0",
"gulp-rev-replace": "^0.4.3",
"gulp-sass": "^3.1.0",
"gulp-shell": "^0.5.2",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^1.5.3",
"gulp-util": "^3.0.7",
"parse-filepath": "^1.0.1",
"path": "^0.12.7",
"q": "^1.4.1",
"require-dir": "^0.3.2",
"run-sequence": "^1.1.5",
"underscore": "^1.8.3",
"vinyl-map2": "^1.2.1"
}
}
Gulp File
var gulp = require("gulp");
var bower = require("gulp-bower");
var elixir = require("laravel-elixir");
gulp.task('bower', function () {
return bower();
});
/*
|--------------------------------------------------------------------------
| Elixir Asset Management
|--------------------------------------------------------------------------
*/
var vendors = '../../../bower_components/';
var paths = {
'jquery': vendors + 'jquery/dist',
'jqueryUi': vendors + 'jquery-ui',
'moment': vendors + 'moment',
'bootstrap': vendors + 'bootstrap/dist',
'dataTables': vendors + 'datatables/media',
'jquerycookie': vendors + 'jquery.cookie',
'fontawesome': vendors + 'font-awesome',
'animate': vendors + 'animate.css',
'underscore': vendors + 'underscore',
'tether': vendors + 'tether/dist',
'jQueryStorageAPI': vendors + 'jQuery-Storage-API',
'pace': vendors + 'PACE',
'lazyload': vendors + 'lazyload',
'screenfull': vendors + 'screenfull/dist',
'select2': vendors + 'select2/dist',
'select2TabFix': vendors + 'select2-tab-fix',
'eonasdanBootstrapDatetimepicker': vendors + 'eonasdan-bootstrap-datetimepicker/build',
'fullcalendar': vendors + 'fullcalendar/dist',
'summernote': vendors + 'summernote/dist',
'morris': vendors + 'morris.js',
'raphael': vendors + 'raphael',
'algoliasearch': vendors + 'algoliasearch/dist/',
'algoliaAutocomplete': vendors + 'algolia-autocomplete.js/dist/',
'typeahead': vendors + 'typeahead.js/dist/',
'pusher': vendors + 'pusher/dist/',
'icheck': vendors + 'iCheck',
'jasnyBootstrap': vendors + 'jasny-bootstrap/dist',
'toastr': vendors + 'toastr/',
'dropzone': vendors + 'dropzone/dist',
'select2BootstrapTheme': vendors + 'select2-bootstrap-theme/dist',
'c3': vendors + '/c3/'
};
elixir.config.sourcemaps = false;
elixir(function (mix) {
// Run bower install
mix.task('bower');
//Custom Styles
mix.styles(
[
'lcrm_bootstrap.css', 'metisMenu.min.css', 'lcrm.css', 'mail.css'
], 'public/css/secure.css');
//Custom Javascript
mix.browserify(['app.js'], 'public/js/secure.js');
/**
* Vendor files
* run "gulp --production"
*/
if (elixir.config.production) {
// Copy js straight to public
mix.copy('resources/assets/js/metisMenu.min.js', 'public/js');
mix.copy('resources/assets/js/datetime-moment.js', 'public/js');
mix.copy('resources/assets/js/lcrm_app.js', 'public/js');
mix.copy('resources/assets/js/todolist.js', 'public/js');
// Copy fonts straight to public
mix.copy('bower_components/bootstrap/fonts', 'public/fonts/bootstrap');
mix.copy('bower_components/font-awesome/fonts', 'public/fonts');
mix.copy('resources/assets/css/material-design-icons/iconfont', 'public/fonts');
// Copy images straight to public
mix.copy('bower_components/bootstrap-fileinput/img', 'public/img');
mix.copy('bower_components/jquery-ui/themes/base/images', 'public/img');
mix.copy('bower_components/datatables/media/images', 'public/img');
mix.copy('resources/assets/img', 'public/img');
mix.copy('resources/assets/images', 'public/images');
mix.copy('resources/assets/img/logo.png', 'public/uploads/site');
mix.copy('resources/assets/img/fav.ico', 'public/uploads/site');
mix.copy('resources/assets/img/user.png', 'public/uploads/avatar');
// copy js files ( we don't need to combine all files into single js)
mix.copy('bower_components/screenfull/dist/screenfull.min.js', 'public/js');
//c3&d3 chart css and js files
mix.copy('bower_components/c3/c3.min.css', 'public/css');
mix.copy('bower_components/c3/c3.min.js', 'public/js');
mix.copy('bower_components/d3/d3.min.js', 'public/js');
mix.copy('resources/assets/js/d3.v3.min.js', 'public/js');
//jvector map files
mix.copy('bower_components/bower-jvectormap/jquery-jvectormap-1.2.2.min.js', 'public/js');
mix.copy('resources/assets/css/jquery-jvectormap.css', 'public/css');
mix.copy('resources/assets/js/jquery-jvectormap-us-aea-en.js', 'public/js');
//icheck
mix.copy('resources/assets/css/icheck.css','public/css');
mix.copy('bower_components/iCheck/icheck.min.js','public/js');
//countUp
mix.copy('bower_components/countUp.js/dist/countUp.min.js', 'public/js');
//jQuery Sortable
mix.copy('resources/assets/js/jquery-sortable.js', 'public/js');
//CSS Libraries
mix.styles([paths.fontawesome + "/css/font-awesome.min.css",
paths.animate + "/animate.min.css",
"resources/assets/css/material-design-icons/material-design-icons.css",
paths.select2 + "/css/select2.min.css",
paths.eonasdanBootstrapDatetimepicker + '/css/bootstrap-datetimepicker.css',
'dataTables.bootstrap.css',
paths.fullcalendar + '/fullcalendar.css',
paths.summernote + '/summernote.css',
paths.summernote + '/summernote-bs3.css',
paths.morris + '/morris.css',
paths.dropzone + '/dropzone.css',
paths.jasnyBootstrap + "/css/jasny-bootstrap.min.css",
paths.toastr + '/toastr.css',
paths.select2BootstrapTheme + "/select2-bootstrap.min.css"
], 'public/css/libs.css');
//JS Libraries
mix.scripts([paths.jquery + "/jquery.js",
paths.jqueryUi + "/jquery-ui.min.js",
paths.tether + "/js/tether.min.js",
paths.bootstrap + "/js/bootstrap.min.js",
paths.dataTables + "/js/jquery.dataTables.min.js",
paths.dataTables + "/js/dataTables.bootstrap.js",
paths.jquerycookie + "/jquery.cookie.js",
paths.pace + '/pace.min.js',
paths.underscore + "/underscore-min.js",
paths.select2 + "/js/select2.min.js",
paths.select2TabFix + "/src/select2-tab-fix.min.js",
paths.moment + '/moment.js',
paths.eonasdanBootstrapDatetimepicker + '/js/bootstrap-datetimepicker.min.js',
paths.fullcalendar + '/fullcalendar.js',
paths.summernote + '/summernote.js',
paths.morris + '/morris.js',
paths.raphael + '/raphael.js',
paths.algoliasearch + '/algoliasearch.min.js',
paths.algoliaAutocomplete + '/autocomplete.min.js',
paths.typeahead + '/typeahead.jquery.min.js',
paths.pusher + '/pusher.js',
paths.toastr + 'toastr.min.js',
paths.jasnyBootstrap + "/js/jasny-bootstrap.min.js",
"palette.js"
], 'public/js/libs.js');
}
});
Error
npm install
npm WARN deprecated minimatch#1.0.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
> node-sass#3.13.1 install C:\xampp\htdocs\trinet\node_modules\laravel-elixir\node_modules\node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-57_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
> uws#9.14.0 install C:\xampp\htdocs\trinet\node_modules\uws
> node-gyp rebuild > build_log.txt 2>&1 || exit 0
> node-sass#3.13.1 postinstall C:\xampp\htdocs\trinet\node_modules\laravel-elixir\node_modules\node-sass
> node scripts/build.js
Building: C:\Program Files\nodejs\node.exe
C:\xampp\htdocs\trinet\node_modules\node-gyp\bin\node-gyp.js rebuild --
verbose --libsass_ext= --libsass_cflags= --lib
sass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli 'C:\\xampp\\htdocs\\trinet\\node_modules\\node-
gyp\\bin\\node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library=' ]
gyp info using node-gyp#3.6.2
gyp info using node#8.11.1 | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable
"C:/Users/user/AppData/Local/Programs/Python/Python37/python.exe" in the PATH
gyp verb `which` succeeded
C:/Users/user/AppData/Local/Programs/Python/Python37/python.exe
C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe
gyp verb check python version
`C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe -c "import platform; print(platform.python_version());"` retur ned: "3.7.0b3\r\n"
gyp verb could not find "C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe". checking python launcher
gyp verb could not find "C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (C:\xampp\htdocs\trinet\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack at PythonFinder.<anonymous> (C:\xampp\htdocs\trinet\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack at C:\xampp\htdocs\trinet\node_modules\node-gyp\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\xampp\\htdocs\\trinet\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ex t=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\xampp\htdocs\trinet\node_modules\laravel-elixir\node_modules\node-sass
gyp ERR! node -v v8.11.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed with error code: 1
npm WARN buble-loader#0.2.2 requires a peer of buble#^0.12.0 but none is installed. You must install peer dependencies yourself.
npm WARN vue-template-validator#1.1.5 requires a peer of parse5#^2.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN The package run-sequence is included as both a dev and production dependency.
npm WARN The package babel-preset-es2015 is included as both a dev and production dependency.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents#1.1.3 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents#1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"} )
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass#3.13.1 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass#3.13.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Try installing python first , since it is searching for the executable and unable to find it

npm dependency in cloud functions

I've defined my npm dependency in the package.json file:
{
"name": "phash-hamming",
"version": "0.0.1",
"dependencies": {
"phash-image": "3.5.0"
}
}
In my index.js the first line causes an error:
var phash = require('phash-image');
The Error:
Build failed: exit status 1
phash-image#3.5.0 install /workspace/node_modules/phash-image
node-gyp rebuild
/bin/sh: 1: pkg-config: not found gyp: Call to 'pkg-config
--libs-only-L --libs-only-other pHash' returned exit status 127 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure
error gyp ERR! stack Error: gyp failed with exit code: 1 gyp ERR!
stack at ChildProcess.onCpExit
(/nodejs/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at
ChildProcess.emit (events.js:191:7) gyp ERR! stack at
Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 4.4.0-116-generic gyp ERR! command
"/nodejs/bin/node"
"/nodejs/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
"rebuild" gyp ERR! cwd /workspace/node_modules/phash-image gyp ERR!
node -v v6.11.5 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok
https://github.com/mgmtio/phash-image
Read the Installation section.
phash-image depends on CImg, pHash, ImageMagicK.
Do you have install one of above?
The following worked for me:
1.Load the phash-image library from inside the function you are calling.
2.Use the package.json from the phash-image repo.
Your index.js:
exports.helloWorld = (req, res) => {
var phash = require('phash-image');
};
Your package.json:
{
"name": "phash-image",
"version": "3.5.0",
"description": "phash for images",
"repository": "mgmtio/phash-image",
"devDependencies": {
"bluebird": "^3.1.5",
"hamming-distance": "^1.0.0",
"istanbul": "^0.4.2",
"mocha": "^3.0.0",
"node-gyp": "^3.3.0"
},
"script": {
"preinstall": "node-gyp configure build",
"preuninstall": "rm -rf build/*"
},
"scripts": {
"build": "node-gyp configure build",
"test": "npm run build && mocha",
"test-cov": "npm run build && istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot",
"test-travis": "npm run build && istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"
},
"keywords": [
"pHash",
"phash",
"libpHash",
"native",
"binding",
"addon"
],
"author": "Aaron Marasco <agm257#mail.missouri.edu>",
"contributors": [
"Aaron Marasco <agm257#mail.missouri.edu>",
"Taeho Kim <xissysnd#gmail.com>",
"Jeremy Dowell <jeremy#codevinsky.com>",
"Rod Vagg <r#va.gg> (https://github.com/rvagg)",
"Jonathan Ong <me#jongleberry.com> (https://github.com/jonathanong)"
],
"dependencies": {
"any-promise": "^1.1.0",
"nan": "^2.0.5"
},
"license": "MIT"
}

npm install is terminate with error "install Couldn't read dependencies"

When I run npm install inside my project folder, it gets terminated.
Errors show up in terminal (MacOS X):
npm ERR! install Couldn't read dependencies
npm ERR! Darwin 15.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.4.3
npm ERR! npm v2.15.1
npm ERR! Invalid version: "0.1.2.0"
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /Users/Orion/NodeWorks/WebDev/npm-debug.log
Here i have attached the npm-debug.log:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install' ]
2 info using npm#2.15.1
3 info using node#v4.4.3
4 verbose readDependencies loading dependencies from /Users/Orion/NodeWorks/WebDev/package.json
5 error install Couldn't read dependencies
6 verbose stack Error: Invalid version: "0.1.2.0"
6 verbose stack at Object.module.exports.fixVersionField (/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js:191:13)
6 verbose stack at /usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js:32:38
6 verbose stack at Array.forEach (native)
6 verbose stack at normalize (/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js:31:15)
6 verbose stack at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:338:5)
6 verbose stack at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:113:5)
6 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:232:12
6 verbose stack at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16
6 verbose stack at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:380:3)
7 verbose cwd /Users/Orion/NodeWorks/WebDev
8 error Darwin 15.4.0
9 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
10 error node v4.4.3
11 error npm v2.15.1
12 error Invalid version: "0.1.2.0"
13 error If you need help, you may report this error at:
13 error <https://github.com/npm/npm/issues>
14 verbose exit [ 1, true ]
And here is my package.json:
{
"name": "*****",
"version": "0.1.2.0",
"private": true,
"description": "Packages for the web site ****.com",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"author": "*****",
"license": "ISC",
"dependencies": {
"async": "^2.0.0-rc.3",
"bcryptjs": "^2.3.0",
"body-parser": "^1.15.0",
"cookie-parser": "^1.4.1",
"debug": "^2.2.0",
"del": "^2.2.0",
"elasticsearch": "^11.0.1",
"emailjs": "^1.0.4",
"express": "^4.13.4",
"express-session": "^1.13.0",
"gulp-coffee": "^2.3.2",
"gulp-concat": "^2.6.0",
"gulp-imagemin": "^2.4.0",
"gulp-sourcemaps": "^2.0.0-alpha",
"gulp-uglify": "^1.5.3",
"gulp-util": "^3.0.7",
"html-metadata": "^1.4.1",
"jade": "^1.11.0",
"knex": "^0.10.0",
"lodash": "^4.11.1",
"mongoosastic": "^4.0.2",
"mongoose": "^4.4.13",
"morgan": "^1.6.1",
"nodemailer": "^2.3.2",
"passport": "^0.3.2",
"passport-local": "^1.0.0",
"python-shell": "^0.4.0",
"q": "^1.4.1",
"request": "^2.69.0",
"serve-favicon": "^2.3.0",
"speakingurl": "^9.0.0",
"urlencode": "^1.1.0"
},
"devDependencies": {
"chai": "^3.5.0",
"grunt": "^1.0.1",
"gulp": "^3.9.1",
"gulp-jade": "^1.1.0",
"mocha": "^2.4.5"
}
}
I am using npm version 2.15.1 and node version v4.4.3.
You have an invalid version of your app.
The version should contain of 3 parts, whereas you have 4:
"version": "0.1.2.0"
Update the version to this and it should work fine:
"version": "0.1.2"
NPM is using semver which has 3 (not four) parts in the version (major, minor and patch) divided by dot sign.

NPM error when deploying NodeJS to Elastic Beanstalk

I'm getting the following error:
5065 verbose linkBins sse4_crc32#4.1.1
5066 verbose linkMans sse4_crc32#4.1.1
5067 verbose rebuildBundles sse4_crc32#4.1.1
5068 verbose rebuildBundles [ 'bindings', 'nan' ]
5069 info install sse4_crc32#4.1.1
5070 verbose unsafe-perm in lifecycle false
5071 info sse4_crc32#4.1.1 Failed to exec install script
5072 verbose stack Error: sse4_crc32#4.1.1 install: `node-gyp rebuild`
5072 verbose stack Exit status 1
5072 verbose stack at EventEmitter.<anonymous> (/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
5072 verbose stack at emitTwo (events.js:87:13)
5072 verbose stack at EventEmitter.emit (events.js:172:7)
5072 verbose stack at ChildProcess.<anonymous> (/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/lib/node_modules/npm/lib/utils/spawn.js:24:14)
5072 verbose stack at emitTwo (events.js:87:13)
5072 verbose stack at ChildProcess.emit (events.js:172:7)
5072 verbose stack at maybeClose (internal/child_process.js:818:16)
5072 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
5073 verbose pkgid sse4_crc32#4.1.1
5074 verbose cwd /tmp/deployment/application
5075 error Linux 4.1.10-17.31.amzn1.x86_64
5076 error argv "/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/bin/node" "/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/bin/npm" "--production" "rebuild"
5077 error node v4.2.1
5078 error npm v2.14.7
5079 error code ELIFECYCLE
5080 error sse4_crc32#4.1.1 install: `node-gyp rebuild`
5080 error Exit status 1
5081 error Failed at the sse4_crc32#4.1.1 install script 'node-gyp rebuild'.
5081 error This is most likely a problem with the sse4_crc32 package,
5081 error not with npm itself.
5081 error Tell the author that this fails on your system:
5081 error node-gyp rebuild
5081 error You can get their info via:
5081 error npm owner ls sse4_crc32
5081 error There is likely additional logging output above.
5082 verbose exit [ 1, true ]
package.json
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"test": "mocha"
},
"dependencies": {
"async": "^0.8.0",
"aws-sdk": "^2.2.21",
"bcrypt-nodejs": "0.0.3",
"body-parser": "^1.0.2",
"config": "^1.16.0",
"cors": "^2.7.1",
"crypto": "0.0.3",
"crypto-js": "^3.1.5",
"debug": "^0.7.4",
"express": "^4.0.0",
"express-jwt": "^0.4.0",
"express-validator": "^2.3.0",
"fs": "0.0.2",
"jade": "^1.3.1",
"jsonwebtoken": "^5.0.0",
"mongoose": "^4.0.0",
"morgan": "^1.0.1",
"multer": "^1.1.0",
"nodemailer": "^1.8.0",
"os-shim": "^0.1.3",
"prompt": "^0.2.14",
"request": "^2.67.0",
"validator": "^3.22.1"
},
"devDependencies": {
"chai": "^1.9.1",
"chance": "^0.5.9",
"mocha": "^1.18.2",
"node-inspector": "^0.12.3",
"supertest": "^0.13.0"
}
}
Errors thrown in EB console:
2015-12-05 08:44:49 UTC+0700 ERROR During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version.
2015-12-05 08:44:49 UTC+0700 ERROR Failed to deploy application.
2015-12-05 08:44:49 UTC+0700 ERROR Unsuccessful command execution on instance id(s) 'i-65c4d5dc'. Aborting the operation.
2015-12-05 08:44:49 UTC+0700 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2015-12-05 08:44:49 UTC+0700 ERROR [Instance: i-65c4d5dc] Command failed on instance. Return code: 1 Output: (TRUNCATED)..."/opt/elasticbeanstalk/containerfiles/ebnode.py", line 166, in npm_install raise e subprocess.CalledProcessError: Command '['/opt/elasticbeanstalk/node-install/node-v4.2.1-linux-x64/bin/npm', '--production', 'rebuild']' returned non-zero exit status 1. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
Here's the .ebextensions/config.config I'm trying:
packages:
yum:
gcc: []
make: []
openssl-devel: []
libxml2: []
libxml2-devel: []
files:
"/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" :
mode: "000775"
owner: root
group: root
content: |
#!/bin/bash
function error_exit
{
eventHelper.py --msg "$1" --severity ERROR
exit $2
}
export HOME=/home/ec2-user # ADDED EXPORT COMMAND
echo "export home" # JUST FOR REMARK
OUT=$(/opt/elasticbeanstalk/containerfiles/ebnode.py --action npm- install 2>&1) || error_exit "Failed to run npm install. $OUT" $?
echo $OUT
It looks like the error is coming from node-gyp or sse4_crc32.
Is there some config I should be using in an .ebextensions file to overcome this please?
Thanks
Solved.
The EB config file fixed it. My path to it was .ebextensions/config.config
packages:
yum:
gcc: []
make: []
openssl-devel: []
libxml2: []
libxml2-devel: []
files:
"/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" :
mode: "000775"
owner: root
group: root
content: |
#!/bin/bash
function error_exit
{
eventHelper.py --msg "$1" --severity ERROR
exit $2
}
export HOME=/home/ec2-user # ADDED EXPORT COMMAND
echo "export home" # JUST FOR REMARK
OUT=$(/opt/elasticbeanstalk/containerfiles/ebnode.py --action npm- install 2>&1) || error_exit "Failed to run npm install. $OUT" $?
echo $OUT
The home directory in the NPM task seemed to do the job.
Something key that held me back also - zipping the project in the Mac GUI will not zip hidden files. This can be overcome by doing it in the command line using:
zip -r archive_name.zip * .*

Resources