After bumping the node version on my Firebase project from node 10 to node 14 in my package.json, like so:
...
"engines": {
"node": "14"
},
...
Firebase throws an error whenever I try to deploy a function.
First, I run:
firebase deploy --only functions:foo
Afterwards, the console shows:
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
> lint
> gts lint
version: 14
Running command: npm --prefix "$RESOURCE_DIR" run build
> build
> ttsc
✔ functions: Finished running predeploy script.
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
✔ functions: required API cloudbuild.googleapis.com is enabled
✔ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (257.54 KB) for uploading
i pubsub: ensuring required API pubsub.googleapis.com is enabled...
i scheduler: ensuring required API cloudscheduler.googleapis.com is enabled...
✔ pubsub: required API pubsub.googleapis.com is enabled
✔ scheduler: required API cloudscheduler.googleapis.com is enabled
✔ functions: functions folder uploaded successfully
i functions: updating Node.js 14 function foo(us-central1)...
✔ functions[foo(us-central1)]: Successful upsert schedule operation.
Functions deploy had errors with the following functions:
foo(us-central1)
To try redeploying those functions, run:
firebase deploy --only "functions:foo"
To continue deploying other features (such as database), run:
firebase deploy --except functions
Error: Functions did not deploy properly.
Unfortunately, there's not much logs that I can get from the error:
By running:
firebase deploy --only functions:foo
I get the following error logs:
{"code":3,"message":"Build failed: > sharp#0.28.3 install /workspace/node_modules/sharp\n> (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)\n\nsharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.6/libvips-8.10.6-linux-x64.tar.br\n\n> protobufjs#6.10.2 postinstall /workspace/node_modules/protobufjs\n> node scripts/postinstall\n\n\n> functions#undefined prepare /workspace\n> npm run compile\n\n\n> functions# compile /workspace\n> ttsc\n\nsh: 1: ttsc: not found\nnpm ERR! code ELIFECYCLE\nnpm ERR! syscall spawn\nnpm ERR! file sh\nnpm ERR! errno ENOENT\nnpm ERR! functions# compile: ttsc\nnpm ERR! spawn ENOENT\nnpm ERR! \nnpm ERR! Failed at the functions# compile script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /builder/home/.npm/_cacache/_logs/2021-06-06T04_27_25_637Z-debug.log\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! functions#undefined prepare: npm run compile\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the functions#undefined prepare script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /builder/home/.npm/_logs/2021-06-06T04_27_25_673Z-debug.log; Error ID: beaf8772"}
In addition, my node version is:
node --version
v14.17.0
After looking at the Cloud Build from the Google Cloud Console, I've noticed that the following error:
2021-06-07T03:28:00.714478581ZStep #4 - "builder": src/cloud_functions/userInfo/https/onCall/uploadAvatar.ts(4,19): error TS7016: Could not find a declaration file for module 'sharp'. '/workspace/node_modules/sharp/lib/index.js' implicitly has an 'any' type.
To fix this, I simply added the following code in the tsconfig.json:
{
"compilerOptions": {
"noImplicitAny": false,
...
},
...
}
Related
PS D:\React Prep\E-com> npm start
ecom#0.1.0 start
react-scripts start
Failed to compile.
createSchemaValidation is not defined
error showing while npm start..
My app, built with Ionic and Cordova, includes the plugin GoogleMaps version 2.6.2 (the most recent), but it has not been loaded on iOS for a month, and Android still works.
I only have taken this product from a colleague and I am a total beginner in terms of Cordova, Ionic and npm. In any case the error is that the plugin is no longer installed (as my console tells me in xCode). When I try to update Cordova-ios to the latest version (ionic cordova platform update ios), I only get the error message
> cordova platform update ios
Using cordova-fetch for cordova-ios#^5.0.0
Failed to fetch platform cordova-ios#^5.0.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name / version / URL.
Error: npm: Command failed with exit code 1 Error output:
npm WARN # ionic-native / google-maps # 3.10.3 requires a peer of # ionic-native / core # ^ 3.6.0 but none is installed. You must install peer dependencies yourself.
npm WARN # ngx-translate / core # 9.1.1 requires a peer of #angular / core #> = 5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN The package # types / node is included as both a dev and production dependency.
npm ERR! path /path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim
npm ERR! code EEXIST
npm ERR! Refusing to delete /path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim: is outside /path/to/app/node_modules / cordova-ios / node_modules / ios-sim and not a link
npm ERR! File exists: /path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim
npm ERR! Move it away, and try again.
npm ERR! A complete log of this can be found in:
npm ERR! /path/to/app/.npm/_logs/2019-05-23T06_41_36_667Z-debug.log
[ERROR] An error occurred while running subprocess cordova.
cordova update ios exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
What does that mean exactly? I wanted to uninstall the iOS platform (ionic cordova platform remove ios) and add new ones (cordova platform add ios#5.0.0), but already when I uninstall I get the following error:
ionic cordova platform remove ios
> cordova platform remove ios --save
Removing ios from cordova.platforms array in package.json
Error: npm: Command failed with exit code 1 Error output:
npm WARN #ionic-native/google-maps#3.10.3 requires a peer of #ionic-native/core#^3.6.0 but none is installed. You must install peer dependencies yourself.
npm WARN #ngx-translate/core#9.1.1 requires a peer of #angular/core#>=5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN The package #types/node is included as both a dev and production dependency.
npm ERR! path /path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim
npm ERR! code EEXIST
npm ERR! Refusing to delete /path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim: is outside /path/to/app/node_modules/cordova-ios/node_modules/ios-sim and not a link
npm ERR! File exists: /path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim
npm ERR! Move it away, and try again.
npm ERR! A complete log of this run can be found in:
npm ERR! /path/to/app/.npm/_logs/2019-05-23T07_05_52_055Z-debug.log
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-common/src/superspawn.js:125:23)
at ChildProcess.emit (events.js:196:13)
at maybeClose (internal/child_process.js:1011:16)
at Socket.<anonymous> (internal/child_process.js:416:11)
at Socket.emit (events.js:196:13)
at Pipe.<anonymous> (net.js:586:12) {
stderr: 'npm WARN #ionic-native/google-maps#3.10.3 requires a peer of ' +
'#ionic-native/core#^3.6.0 but none is installed. You must install peer ' +
'dependencies yourself.\nnpm WARN #ngx-translate/core#9.1.1 requires a ' +
'peer of #angular/core#>=5.0.0 but none is installed. You must install ' +
'peer dependencies yourself.\nnpm WARN The package #types/node is ' +
'included as both a dev and production dependency.\n\nnpm ERR! path ' +
'/path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim\n' +
'npm ERR! code EEXIST\nnpm ERR! Refusing to delete ' +
'/path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim: ' +
'is outside ' +
'/path/to/app/node_modules/cordova-ios/node_modules/ios-sim ' +
'and not a link\nnpm ERR! File exists: ' +
'/path/to/app/node_modules/cordova-ios/node_modules/.bin/ios-sim\n' +
'npm ERR! Move it away, and try again.\n\nnpm ERR! A complete log of this ' +
'run can be found in:\nnpm ERR! ' +
'/path/to/app/.npm/_logs/2019-05-23T07_05_52_055Z-debug.log\n',
code: 1
}
[ERROR] An error occurred while running subprocess cordova.
cordova platform remove ios --save exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
I have installed the following plugins:
> cordova plugin ls
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-googlemaps 2.6.2 "cordova-plugin-googlemaps"
cordova-plugin-ionic-webview 4.0.1 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-sqlite-storage 2.6.0 "Cordova sqlite storage plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.11.1 "PushPlugin"
What exactly do I have to do to update cordova-ios to the latest version? What else do you need for information that I could give you? My Mac already has the latest operating system.
EDIT:
I ran rm -Rf platforms / node_modules / && npm install && ionic cordova platform add ios # latest and now I get the following output on the console.
> fsevents#1.2.9 install / path / to / app / node_modules / fsevents
> node install
node-pre-gyp WARN Using request for node-pre-gyp https download
[fsevents] Success: "/path/to/app/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64/fse.node" is installed via remote
> node-sass#4.12.0 install / path / to / app / node_modules / node-sat
> node scripts / install.js
Cached binary found at /path/to/app/.npm/node-sass/4.12.0/darwin-x64-72_binding.node
> uglifyjs-webpack-plugin#0.4.6 postinstall / path / to / app / node_modules / uglifyjs-webpack-plugin
> node lib / post_install.js
> node-sass#4.12.0 postinstall / path / to / app / node_modules / node-sass
> node scripts / build.js
Binary found at /path/to/app/node_modules/node-sass/vendor/darwin-x64-72/binding.node
Testing binary
Binary is fine
npm WARN The package # types / node is included as both a dev and production dependency.
added 1330 packages from 1442 contributors in 63.504s
> cordova platform add ios # latest --save
Using cordova-fetch for cordova-ios # latest
Adding ios project ...
Creating Cordova project for the iOS platform:
Path: platforms / ios
Package: com.gpsno
Name: GPS-No.com
iOS project created with cordova-ios#5.0.1
Installing "cordova-plugin-datepicker" for ios
Installing "cordova-plugin-device" for ios
Installing "cordova-plugin-geolocation" for ios
Installing "cordova-plugin-googlemaps" for ios
"framework" tag with type "podspec" is deprecated and will be removed. Please use the "podspec" tag.
cordova-plugin-googlemaps depends on GoogleMaps # ~> 2.7.0, which conflicts with another plugin. GoogleMaps # ~> 3.1.0 is already installed and was not overwritten.
Running command: pod install --verbose
Official document https://github.com/mapsplugin/cordova-plugin-googlemaps-doc/blob/master/v2.6.0/README.md Please consider buying beer for us 🍺 https://github.com/mapsplugin/ cordova-plugin-google maps # buy-us-a-beer
Installing "cordova-plugin-ionic-webview" for ios
Installing "cordova-plugin-splashscreen" for ios
Installing "cordova-plugin-statusbar" for ios
Installing "cordova-plugin-whitelist" for ios
Installing "cordova-sqlite-storage" for ios
Failed to install 'cordova-sqlite-storage': CordovaError: Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
at Context.requireCordovaModule (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/Context.js:57:15)
at module.exports (/path/to/app/plugins/cordova-sqlite-storage/scripts/beforePluginInstall.js:13:21)
at runScriptViaModuleLoader (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:181:32)
at runScript (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:157:16)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:125:20
at processTicksAndRejections (internal / process / task_queues.js: 89: 5)
Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
[ERROR] An error occurred while running subprocess cordova.
cordova platform add ios # latest --save exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
It looks like everything had worked out. Do I have to worry about the message
cordova-plugin-googlemaps depends on GoogleMaps # ~> 2.7.0, which conflicts with another plugin. GoogleMaps # ~> 3.1.0 is already installed and was not overwritten.
If so what can I do or remove?
How can I solve the problem
Installing "cordova-sqlite-storage" for ios
Failed to install 'cordova-sqlite-storage': CordovaError: Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
Installing "cordova-sqlite-storage" for ios
Failed to install 'cordova-sqlite-storage': CordovaError: Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
This is because you have cordova#9.0.0 CLI installed which removed support for use of requireCordovaModule by 3rd party plugins, but you have an old version of cordova-sqlite-storage plugin installed which makes use of requireCordovaModule. So you need to update your version of cordova-sqlite-storage plugin:
cordova plugin rm cordova-sqlite-storage && cordova plugin add cordova-sqlite-storage#latest
cordova-plugin-googlemaps depends on GoogleMaps # ~> 2.7.0, which conflicts with another plugin. GoogleMaps # ~> 3.1.0 is already installed and was not overwritten.
Again probably due to an outdated version of cordova-plugin-googlemaps so update it:
cordova plugin rm cordova-plugin-googlemaps --nosave && cordova plugin add cordova-plugin-googlemaps#latest
Note the use of --nosave option when removing the plugin to preserve any plugin variables containing API keys.
You should also check and update the other plugins in your project. An easy way to do this is using the cordova-check-plugins tool:
npm install -g cordova-check-plugins
cordova-check-plugins --unconstrain-versions --update=auto
# or --update=interactive for interactive update process
Disclaimer: I am the author of cordova-check-plugins
Be aware when updating plugins that major version updates may contain breaking changes to APIs which your app makes use of, so you should be aware of this:
checkout the changelog or commit history of plugins for which you are updating the major version and make any necessary API changes in your app.
I'm trying to build my first localised SPFX WebPart for Sharepoint Online. I've added an additional language de-de.js in the loc folder and now I'm trying to change the write-manifest.json to use my new language on debug by adding the `"debugLocale" property to it:
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json",
"cdnBasePath": "<!-- PATH TO CDN -->",
"debugLocale": "de-de"
}
Checking the official instructions of Microsoft and inspecting the JSON sheme of the write-manifest.json shows this should compile, but when I gulp serve it returns:
Build target: DEBUG
./node_modules/#microsoft/node-core-library/lib/JsonSchema.js:178
throw new Error(prefix + os.EOL +
^
Error: JSON validation failed:
./config/write-manifests.json
Error: #/ (Defines configuration options for the...)
Additional properties not allowed: debugLocale
at validateObjectWithCallback (./node_modules/#microsoft/node-core-library/lib/JsonSchema.js:178:19)
at JsonSchema.validateObjectWithCallback (./node_modules/#microsoft/node-core-library/lib/JsonSchema.js:193:13)
at JsonSchema.validateObject (./node_modules/#microsoft/node-core-library/lib/JsonSchema.js:175:14)
at WriteManifestsTask._readConfigFile (./node_modules/#microsoft/gulp-core-build/lib/tasks/GulpTask.js:311:28)
at WriteManifestsTask.onRegister (./node_modules/#microsoft/gulp-core-build/lib/tasks/GulpTask.js:87:32)
at Object.initialize (./node_modules/#microsoft/gulp-core-build/lib/index.js:299:24)
at SPWebBuildRig.initialize (./node_modules/#microsoft/sp-build-common/lib/BuildRig.js:61:19)
at SPWebBuildRig.initialize (./node_modules/#microsoft/sp-build-common/lib/SPBuildRig.js:29:15)
at SPWebBuildRig.initialize (./node_modules/#microsoft/sp-build-web/lib/SPWebBuildRig.js:15:15)
at Object.exports.initialize (./node_modules/#microsoft/sp-build-web/lib/index.js:23:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! hello-world#0.0.1 start: `gulp serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the hello-world#0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! ~/.npm/_logs/2019-01-09T16_43_53_070Z-debug.log
How can I solve this issue?
Between 1.5 and 1.6, the build tasks appeared to have changed. I have confirmed the issue with 1.6+.
If you modify your write-manfiest.json "debugLocale" to "buildSingleLocale", everything will work as expected. I think the docs and the schema may be out of date.
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json",
"cdnBasePath": "<!-- PATH TO CDN -->",
"buildSingleLocale": "de-de"
}
I just tried that and it works in my setup.
Created webpart using yo #microsoft/sharepoint with default options (using React as Javascript framework)
Added de-de.js file to loc folder and changed values so I can see that is really grabs the correct file
Added "debugLocale": "de-de" to write-manifests.json
Run gulp serve
Texts used are from de-de.js
My versions:
yo - 2.0.3
#microsoft/sharepoint generator - 1.4.1 (I know it is old one)
npm - 5.6.0 (Yes, also old one)
But, once I update the #microsoft/sharepoint generator to latest version 1.7.1 it stopped working. It seems that the issue occurs since version 1.6.0
Workaround is to run it with --locale parameter like gulp serve --locale=de-de or to use older version:
npm uninstall #microsoft/generator-sharepoint -g
npm install #microsoft/generator-sharepoint#1.5.1 -g
I am trying to log in to the system to navigate to the next page for visual test in backstopjs. For some reason I cannot perform click function as backstopjs doesn't detect my click command.
Following is the backstop.json snippet for the relevant action
{
"label": "Faethm Dashboard",
"cookiePath": "backstop_data/engine_scripts/cookies.json",
"url": "https://xxxxxx.com.au/dickyco",
"keyPressSelectors": [
{
"selector": "#email",
"keyPress": "Xxxxxxxxx#gmsil.com"
},
{
"selector": "#password",
"keyPress": "abcd!"
},
{
"selector":".ant-btn sc-kEYyzF hTZeXz",
"keyPress":"click()"
}
I get following error in my terminal
Puppeteer encountered an error while running scenario "Faethm Dashboard"
TimeoutError: waiting for selector "body.root " failed: timeout 30000ms exceeded
COMMAND | Executing core for "report"
compare | Reference image not found Test_Faethm_Dashboard_0__0_appleMacPro.png
compare | OK: Faethm Homepage Test_Faethm_Homepage_0_document_0_appleMacPro.png
report | Test completed...
report | 1 Passed
report | 1 Failed
report | Writing browser report
report | Resources copied
report | Copied configuration to: /Users/faethm/Desktop/VisualTest/backstopjs-example/backstop_data/html_report/config.js
COMMAND | Executing core for "openReport"
openReport | Attempting to ping
openReport | Remote not found. Opening backstop_data/html_report/index.html
report | *** Mismatch errors found ***
COMMAND | Command "report" ended with an error after [0.112s]
COMMAND | Error: Mismatch errors found.
at /Users/faethm/Desktop/VisualTest/backstopjs-example/node_modules/backstopjs/core/command/report.js:116:17
at process._tickCallback (internal/process/next_tick.js:68:7)
COMMAND | Command "test" ended with an error after [34.755s]
COMMAND | Error: Mismatch errors found.
at /Users/faethm/Desktop/VisualTest/backstopjs-example/node_modules/backstopjs/core/command/report.js:116:17
at process._tickCallback (internal/process/next_tick.js:68:7)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! backstopjs-example#1.0.0 test:visual: `rm -rf backstop_data/bitmaps_test && backstop test`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the backstopjs-example#1.0.0 test:visual script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/faethm/.npm/_logs/2018-11-27T00_46_49_521Z-debug.log
Try removing your click from "keyPressSelectors" section, and using the built in clickSelector property after.
"clickSelector": ".ant-btn sc-kEYyzF hTZeXz"
I am testing NetLify CMS for a project, but I am not able to work in my local environment, because gulp server crashs before it start, due to the error below:
$ npm start
> victor-hugo#1.0.0 start C:\Users\maufa\Documents\web-development\kaldi-hugo-cms-template
> gulp server
[14:17:07] Requiring external module babel-register
[14:17:08] Using gulpfile ~\Documents\web-development\kaldi-hugo-cms-template\gulpfile.babel.js
[14:17:08] Starting 'hugo'...
[14:17:08] Starting 'css'...
[14:17:09] Starting 'js'...
[14:17:09] Starting 'svg'...
[14:17:09] Starting 'cms'...
[14:17:09] Finished 'cms' after 150 ms
events.js:160
throw er; // Unhandled 'error' event
^
Error: spawn ./bin/hugo.win32 ENOENT
at exports._errnoException (util.js:1022:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:359:16)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:606:11)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! victor-hugo#1.0.0 start: `gulp server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the victor-hugo#1.0.0 start script 'gulp server'.
So, looks like it is trying to find hugo.win32 inside the bin folder.
However, inside this folder I ave:
hugo.darwin
hugo.exe
hugo.linux
Any clue?
It looks like this issue is particular to the Kaldi Hugo template. I installed on Windows and got the same error, then I tried renaming hugo.exe to hugo.win32, and it worked. I found the error in gulpfile.babel.js (incorrect string identifier for Windows), and submitted a PR. If you don't want to wait for the merge, feel free to change your version directly: https://github.com/netlify-templates/kaldi-hugo-cms-template/pull/3/files