Node version: 14.x: tested on 14.0.0, 14.5.0, 14.7.0
Sails version _(sails)_: 1.2.4
ORM hook version _(sails-hook-orm)_: 2.1.1
DB adapter & version _(e.g. [email protected])_: [email protected]
Database connection times out on app startup when using node version 14. Node 12 and 13 seem to work fine:
$ nvm use 12 && npx sails console
Now using node v12.18.2 (npm v6.14.5)
info: Starting app in interactive mode...
info: ·• Auto-migrating... (drop)
info: ✓ Auto-migration complete.
info: Welcome to the Sails console.
info: ( to exit, type <CTRL>+<C> )
(node:20084) [DEP0124] DeprecationWarning: REPLServer.rli is deprecated
$ nvm use 14 && npx sails console
Now using node v14.7.0 (npm v6.14.7)
info: Starting app in interactive mode...
(node:19845) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
info: ·• Auto-migrating... (drop)
error:
error: Error: Sails is taking too long to load.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Troubleshooting tips:
-• Were you still reading/responding to an interactive prompt?
(Whoops, sorry! Please lift again and try to respond a bit more quickly.)
-• Do you have a lot of stuff in `assets/`? Grunt might still be running.
(Try increasing the hook timeout. Currently it is 40000.
e.g. `sails lift --hookTimeout=80000`)
-• Is `blueprints` a custom or 3rd party hook?
(*If* `initialize()` is using a callback, make sure it's being called.)
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
at Timeout.tooLong [as _onTimeout] (/home/user/workspaces/sails/node14pg/node_modules/sails/lib/app/private/loadHooks.js:191:21)
at listOnTimeout (internal/timers.js:551:17)
at processTimers (internal/timers.js:494:7)
error: Could not load Sails app.
error:
error: Tips:
error: • First, take a look at the error message above.
error: • Make sure you've installed dependencies with `npm install`.
error: • Check that this app was built for a compatible version of Sails.
error: • Have a question or need help? (http://sailsjs.com/support)
Upgrading to latest node should not break the db connection.
(requires local postgresql and correct permissions to connect)
git clone [email protected]:alxndrsn/sails-postgres-node-14.git
cd sails-postgres-node-14
yarn
nvm install 14
nvm use 14
export DATABASE_URL=postgres://user:password@localhost/db_name
npx sails console
There are a number of other projects reporting issues with node 14 and pg:
It sounds like updating the pg dependency might fix the issue.
@alxndrsn Thanks for posting! We'll take a look as soon as possible.
In the mean time, there are a few ways you can help speed things along:
Please remember: never post in a public forum if you believe you've found a genuine security vulnerability. Instead, disclose it responsibly.
For help with questions about Sails, click here.
For anyone following this and wanting an immediate fix, I had to change the sails-postgresql depedency to [email protected].
If you're also using connect-pg-simple, you'll need to replace that with https://github.com/nstuyvesant/node-connect-pg-simple.git#adcb6c4642db88e6de47e3aea48a71b5ab3569fa until https://github.com/voxpelli/node-connect-pg-simple/pull/174 is merged & released.
Thank you @alxndrsn for the workaround, we will be working on updating sails-postgresql to work with Node 14 this month
@alxndrsn @eashaw just released sails-postgresql v2.0.0, which is updated to support Node v14
Is this bounty still open? It's offering $15 to solve this issue which appears to be already solved.
Most helpful comment
Thank you @alxndrsn for the workaround, we will be working on updating sails-postgresql to work with Node 14 this month