NodeJS Azure Sequelize SQL Server - Error: Please install tedious package manually - node.js

So I've been developing a NodeJs app locally on my Windows machine. I opened a simple SQL Server instance in the Azure cloud.
While testing this way (node on localhost, SQL Server in Azure cloud) all works fine - everything works.
Once the nodejs rest api is deployed to Azure (excuse my french) all hell broke loose:
Error: Please install tedious package manually
at ConnectionManager._loadDialectModule (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:81:15)
at new ConnectionManager (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\mssql\connection-manager.js:17:21)
at new MssqlDialect (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\mssql\index.js:14:30)
at new Sequelize (D:\home\site\wwwroot\node_modules\sequelize\lib\sequelize.js:324:20)
at Object.<anonymous> (D:\home\site\wwwroot\util\database.js:3:19)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (D:\home\site\wwwroot\server.js:6:19)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (D:\Program Files (x86)\iisnode\interceptor.js:459:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
Application has thrown an uncaught exception and is terminated:
Error: Please install tedious package manually
at ConnectionManager._loadDialectModule (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:81:15)
at new ConnectionManager (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\mssql\connection-manager.js:17:21)
at new MssqlDialect (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\mssql\index.js:14:30)
at new Sequelize (D:\home\site\wwwroot\node_modules\sequelize\lib\sequelize.js:324:20)
at Object.<anonymous> (D:\home\site\wwwroot\util\database.js:3:19)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (D:\home\site\wwwroot\server.js:6:19)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (D:\Program Files (x86)\iisnode\interceptor.js:459:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
here's a snapshot of my package.json file :
"devDependencies": {
"dotenv": "^8.2.0",
"nodemon": "^2.0.3"
},
"dependencies": {
"axios": "^0.19.2",
"azure-storage": "^2.10.3",
"bcryptjs": "^2.4.3",
"body-parser": "^1.19.0",
"express": "^4.17.1",
"formdata-node": "^2.1.1",
"into-stream": "^5.1.1",
"jsonwebtoken": "^8.5.1",
"mssql": "^6.1.0",
"multer": "^1.4.2",
"nodemailer": "^6.4.5",
"sequelize": "^5.21.7",
"tedious": "^8.0.1",
"uuid-token-generator": "^1.0.0"
}
The error being thrown/shown on the error page I get back from Azure:
HTTP Error 500.1002 - Internal Server Error
I'm not sure what I'm doing wrong. I'd love some help.

When deploying web apps, application environment factors are important. Azure as the hosting service of the program, there are definitely some environments that are different from local.
So I suggest to visit the website https://your-app.scm.azurewebsites.net/DebugConsole to enter kudu and enter the site->wwwroot folder To delete the node_modules folder on the server. Compress node_modules in the local project into zip format, and then drag and drop directly into kudu. Then proceed to the next test.
You also can run npm install tedious in command line, but I failed and don't know why. But I still think this is a good way to solve it. For more details, you can visit the url.Azure web app tedious

Related

Error: Cannot find module './build/Release/DTraceProviderBindings'

I have a project that was created on Windows. After moving to macOS and trying to install and run it, I'm getting the following errors:
Error: Cannot find module './build/Release/DTraceProviderBindings'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
at Function.Module._load (internal/modules/cjs/loader.js:529:25)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/Users/beygel/ITECH/Projects/Moovz-Server/stats/node_modules/dynamodb/node_modules/dtrace-provider/dtrace-provider.js:17:23)
at Module._compile (internal/modules/cjs/loader.js:721:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/Users/beygel/ITECH/Projects/Moovz-Server/stats/node_modules/dynamodb/node_modules/bunyan/lib/bunyan.js:34:22)
at Module._compile (internal/modules/cjs/loader.js:721:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32) code: 'MODULE_NOT_FOUND'
I'm using the following dependencies:
"dependencies": {
"simple-xmpp": "^1.3.0",
"dynamodb": "^1.1.2",
"html2plaintext": "^2.1.2",
"memcache-plus": "0.2.18",
"memjs": "^1.2.0",
"node-schedule": "^1.3.1",
"request": "^2.83.0",
"socket.io-client": "0.9.16"
}
System info:
node: v11.6.0
npm: 6.8.0
mbp2018: macOS Mojave version 10.14.3
I got rid of this error by running rm -rf node_modules and then running npm i --no-optional with dtrace-provider in my dependencies. It was at version 0.8.7.
This was resolved when I ran npm rebuild dtrace-provider

How to host node.js app on google cloud propertly?

I am trying to host this https://github.com/idiidk/kahoot-tools on google cloud. It works when i test it in cloud shell but when i deploy it it crashes.
I see this error when i go to my app:
Error: Server Error The server encountered an error and could not
complete your request. Please try again in 30 seconds.
In google cloud i see this error:
Error: Cannot find module 'express' at
Function.Module._resolveFilename
(internal/modules/cjs/loader.js:581:15) at Function.Module._load
(internal/modules/cjs/loader.js:507:25) at Module.require
(internal/modules/cjs/loader.js:637:17) at require
(internal/modules/cjs/helpers.js:22:18) at Object.
(/srv/kahoot-tools.js:8:21) at Module._compile
(internal/modules/cjs/loader.js:689:30) at
Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32) at
tryModuleLoad (internal/modules/cjs/loader.js:538:12) at
Function.Module._load (internal/modules/cjs/loader.js:530:3)
express package is missing in "dependencies" of package.json. just add the following:
"express": "^4.16.3"
and also add this node for deploying to App Engine, otherwise dependencies won't get installed:
"scripts": {
"start": "node kahoot-tools.js"
}

When i execute $firebase deploy command i get this error?

I want to create an http function to upload image to firebase storage using firebase cloud functions.
package.json
"dependencies": {
"#google-cloud/storage": "^2.3.0",
"busboy": "^0.2.14",
"cors": "^2.8.5",
"firebase-admin": "^6.1.0",
"firebase-functions": "^2.1.0",
"uuid": "^3.3.2"
}
Error
Error: Error occurred while parsing your function triggers.
TypeError: require(...) is not a function
at Object.<anonymous> (/home/a7me63azza8/Desktop/flutter/flutter_course/functions/index.js:21:45)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10) at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at /usr/lib/node_modules/firebase-tools/lib/triggerParser.js:15:15
at Object.<anonymous> (/usr/lib/node_modules/firebase-
tools/lib/triggerParser.js:53:3)
Error screen shot
I am doing the udemy flutter course as well, and there was a document that asked you to install version 1.7 of #google-cloud/storage.
This worked for me, run:
npm install --save #google-cloud/storage#1.7
then run: firebase deploy

node keystone Cannot find module './browserify'

Everything was working until I did a npm install on my project folder.
I am running macOS Sierra 10.12.5, node.js v8.2.1, npm v5.3.0
What I have tried:
uninstalling node/npm and reinstalling
npm install -g browserify
npm insatll browserify on my project folder
reinstall KeystoneJS generator
my package.json
{
"name": "site-name",
"version": "0.0.0",
"private": true,
"dependencies": {
"keystone": "4.0.0-beta.5",
"lodash": "^4.13.1",
"consolidate": "0.14.5",
"nunjucks": "3.0.0",
"node-sass": "4.5.0",
"node-sass-middleware": "0.11.0",
"dotenv": "4.0.0",
"async": "2.1.4",
"express-sslify": "1.2.0"
},
"devDependencies": {
"eslint": "3.15.0",
"eslint-config-keystone": "3.0.0",
"eslint-plugin-react": "^5.1.1"
},
"scripts": {
"lint": "eslint .",
"start": "node keystone.js"
}
}
Here is the output in terminal
node keystone
module.js:487
throw err;
^
Error: Cannot find module './browserify'
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/Tyler/Desktop/Forge_Fitness_Site/models/node_modules/sha.js/bin.js:3:18)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at /Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/lib/core/importer.js:42:23
at Array.forEach (native)
at importer (/Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/lib/core/importer.js:32:26)
at /Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/lib/core/importer.js:36:22
at Array.forEach (native)
at importer (/Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/lib/core/importer.js:32:26)
at /Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/lib/core/importer.js:36:22
at Array.forEach (native)
at importer (/Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/lib/core/importer.js:32:26)
at Keystone.import (/Users/Tyler/Desktop/Forge_Fitness_Site/node_modules/keystone/index.js:176:42)
at Object.<anonymous> (/Users/Tyler/Desktop/Forge_Fitness_Site/keystone.js:41:16)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
Well, I fixed the issue, not exactly sure how it happened but somehow I ended up with two node_modules folders in my project directory. Deleting the second one fixed my issue.

Heroku Cannot find module 'lodash/object/assign'

I'm having issues deploying to Heroku. Got it running locally after i had the same error by simply rm -f node_modules and then reinstalling them with npm install. But when i deploy to heroku the error keeps occurring. Even went in with bash to perform the same steps.
I then used npm shrinkwrap and noticed aws-sdk has a dependency on lodash vs 3.5.0 <3.6.0. So i set the lodash version in my package.json accordingly.
It all still runs locally but keeps crashing on heroku.
Node v5.0.0
NPM v3.3.6
"dependencies": {
"aws-sdk": "^2.6.6",
"bluebird": "^3.4.6",
"body-parser": "^1.15.2",
"express": "^4.14.0",
"goosepage": "0.0.1",
"lodash": "^3.5.0"
}
Additional heroku log
Error: Cannot find module 'lodash/object/assign'
Function.Module._resolveFilename (module.js:337:15)
Function.Module._load (module.js:287:25)
Module.require (module.js:366:17)
require (module.js:385:17)
Object.<anonymous> (/app/node_modules/xmlbuilder/lib/index.js:5:12)
Object.<anonymous> (/app/node_modules/xmlbuilder/lib/index.js:14:4)
Module._compile (module.js:425:26)
Object.Module._extensions..js (module.js:432:10)
Module.load (module.js:356:32)
Function.Module._load (module.js:311:12)
Module.require (module.js:366:17)
require (module.js:385:17)
Object.<anonymous> (/app/node_modules/aws-sdk/lib/xml/builder.js:2:15)
Module._compile (module.js:425:26)
Object.Module._extensions..js (module.js:432:10)
Module.load (module.js:356:32)
Turns out Heroku had a Buildpack that was caching node_modules. Turning off caching didnt help so i had to use the heroku plugin to clear the cached which worked.
https://github.com/heroku/heroku-repo
heroku repo:purge_cache -a appname
The following allegedly should also work incase the above doesn't
heroku config:set NODE_MODULES_TRUE=false

Resources