Hey Hannah.
Ok so thankfully I took a snapshot before I updated. So I rolled back my disk image and tried again. This time I updated Node first.
Here is the setup that was working.
$ node -v
v8.15.0
$ ghost version
Ghost-CLI version: 1.9.9
Ghost version: 2.13.1 (at /var/www/ghost)
Then I updated Node:
$ ghost stop
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash
## Installing the NodeSource Node.js 10.x repo...
## Populating apt-get cache...
+ apt-get update
Get:1 https://deb.nodesource.com/node_8.x bionic InRelease [4622 B]
Hit:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:6 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates/main Sources [245 kB]
Get:7 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [519 kB]
Get:8 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [194 kB]
Get:9 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [726 kB]
Get:10 http://security.ubuntu.com/ubuntu bionic-security/main Sources [74.4 kB]
Get:11 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [264 kB]
Get:12 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [98.8 kB]
Fetched 2378 kB in 1s (1829 kB/s)
Reading package lists... Done
## Confirming "bionic" is supported...
+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_10.x/dists/bionic/Release'
## Adding the NodeSource signing key to your keyring...
+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
OK
## Creating apt sources list file for the NodeSource Node.js 10.x repo...
+ echo 'deb https://deb.nodesource.com/node_10.x bionic main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src https://deb.nodesource.com/node_10.x bionic main' >> /etc/apt/sources.list.d/nodesource.list
## Running `apt-get update` for you...
+ apt-get update
Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease
Get:4 https://deb.nodesource.com/node_10.x bionic InRelease [4584 B]
Hit:5 http://security.ubuntu.com/ubuntu bionic-security InRelease
Get:6 https://deb.nodesource.com/node_10.x bionic/main amd64 Packages [763 B]
Fetched 5347 B in 1s (10.1 kB/s)
Reading package lists... Done
## Run `sudo apt-get install -y nodejs` to install Node.js 10.x and npm
## You may also need development tools to build native addons:
sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
$ sudo apt-get install -y nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
nodejs
1 upgraded, 0 newly installed, 0 to remove and 51 not upgraded.
Need to get 15.1 MB of archives.
After this operation, 7550 kB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_10.x bionic/main amd64 nodejs amd64 10.15.1-1nodesource1 [15.1 MB]
Fetched 15.1 MB in 0s (67.8 MB/s)
(Reading database ... 116052 files and directories currently installed.)
Preparing to unpack .../nodejs_10.15.1-1nodesource1_amd64.deb ...
Detected old npm client, removing...
Unpacking nodejs (10.15.1-1nodesource1) over (8.15.0-1nodesource1) ...
Setting up nodejs (10.15.1-1nodesource1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
$ node -v
v10.15.1
Then I tried updating Ghost.
$ ghost update
+ sudo systemctl is-active ghost_cybersecureme-net
+ sudo systemctl reset-failed ghost_cybersecureme-net
✔ Checking system Node.js version
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
✔ Checking for available migrations
✔ Checking for latest Ghost version
✔ Downloading and updating Ghost to v2.13.2
✔ Linking latest Ghost and recording versions
+ sudo systemctl is-active ghost_cybersecureme-net
☱ Downloading and updating Ghost to v2.13.2 > Installing dependencies > [5/5] Building fresh packages...✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
+ sudo systemctl is-active ghost_cybersecureme-net
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
+ sudo systemctl start ghost_cybersecureme-net
☱ Restarting Ghost+ sudo systemctl stop ghost_cybersecureme-net
✖ Restarting Ghost
A GhostError occurred.
Message: Could not communicate with Ghost
Suggestion: journalctl -u ghost_cybersecureme-net -n 50
Debug Information:
OS: Ubuntu, v18.04
Node Version: v10.15.1
Ghost-CLI Version: 1.9.9
Environment: production
Command: 'ghost update'
Additional log info available in: /home/cybersecureme/.ghost/logs/ghost-cli-debug-2019-02-06T23_45_26_586Z.log
Try running ghost doctor to check your system for known issues.
You can always refer to https://docs.ghost.org/api/ghost-cli/ for troubleshooting.
? Unable to upgrade Ghost from v2.13.1 to v2.13.2. Would you like to revert back to v2.13.1? (Y/n) Yes
+ sudo systemctl is-active ghost_cybersecureme-net
+ sudo systemctl reset-failed ghost_cybersecureme-net
✔ Checking system Node.js version
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking for available migrations
✔ Checking for latest Ghost version
ℹ Downloading and updating Ghost [skipped]
+ sudo /var/www/ghost/current/node_modules/.bin/knex-migrator-rollback --force --v 2.13.1 --mgpath /var/www/ghost/current
✖ Rolling back database migrations
A GhostError occurred.
Message: The database migration in Ghost encountered an error.
Help: https://docs.ghost.org/faq/upgrade-to-ghost-2-0/#what-to-do-when-an-upgrade-fails
Suggestion: ghost update --rollback
Debug Information:
OS: Ubuntu, v18.04
Node Version: v10.15.1
Ghost-CLI Version: 1.9.9
Environment: production
Command: 'ghost update'
Additional log info available in: /home/cybersecureme/.ghost/logs/ghost-cli-debug-2019-02-06T23_46_28_033Z.log
Try running ghost doctor to check your system for known issues.
You can always refer to https://docs.ghost.org/api/ghost-cli/ for troubleshooting.
Contents of the first log file from the upgrade
cat /home/cybersecureme/.ghost/logs/ghost-cli-debug-2019-02-06T23_45_26_586Z.log
Debug Information:
OS: Ubuntu, v18.04
Node Version: v10.15.1
Ghost-CLI Version: 1.9.9
Environment: production
Command: 'ghost update'
Message: Could not communicate with Ghost
Suggestion: journalctl -u ghost_cybersecureme-net -n 50
Stack: Error: Could not communicate with Ghost
at Server.server.close (/usr/lib/node_modules/ghost-cli/lib/utils/port-polling.js:56:20)
at Object.onceWrapper (events.js:277:13)
at Server.emit (events.js:189:13)
at emitCloseNT (net.js:1616:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
Contents of the second log file from the rollback attempt
cat /home/cybersecureme/.ghost/logs/ghost-cli-debug-2019-02-06T23_46_28_033Z.log
Debug Information:
OS: Ubuntu, v18.04
Node Version: v10.15.1
Ghost-CLI Version: 1.9.9
Environment: production
Command: 'ghost update'
Message: The database migration in Ghost encountered an error.
Help: https://docs.ghost.org/faq/upgrade-to-ghost-2-0/#what-to-do-when-an-upgrade-fails
Suggestion: ghost update --rollback
Stack: Error: The database migration in Ghost encountered an error.
at /usr/lib/node_modules/ghost-cli/lib/tasks/migrator.js:41:21
at process._tickCallback (internal/process/next_tick.js:68:7)
Ghost doctor at this point doesn’t show any problems
ghost doctor
✔ Checking system Node.js version
✔ Checking logged in user
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking operating system compatibility
+ sudo systemctl is-active ghost_cybersecureme-net
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
And finally here is the output of ghost run showing the original error
ghost run
The ghost run
command is used by the configured Ghost process manager and for debugging. If you’re not running this to debug something, you should run ghost start
instead.
+ sudo node current/index.js
events.js:174
throw er; // Unhandled ‘error’ event
^
Error: shutdown ENOTCONN
at TLSSocket.Socket._final (net.js:364:25)
at callFinal (_stream_writable.js:612:10)
at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
at Connection._handleProtocolError (/var/www/ghost/versions/2.13.2/node_modules/mysql/lib/Connection.js:425:8)
at Protocol.emit (events.js:189:13)
at Protocol._delegateError (/var/www/ghost/versions/2.13.2/node_modules/mysql/lib/protocol/Protocol.js:390:10)
at Protocol.handleNetworkError (/var/www/ghost/versions/2.13.2/node_modules/mysql/lib/protocol/Protocol.js:363:10)
at Connection._handleNetworkError (/var/www/ghost/versions/2.13.2/node_modules/mysql/lib/Connection.js:420:18)
at TLSSocket.<anonymous> (/var/www/ghost/versions/2.13.2/node_modules/mysql/lib/Connection.js:305:20)
at TLSSocket.emit (events.js:189:13)
at TLSSocket._tlsError (_tls_wrap.js:612:8)
at TLSSocket.emit (events.js:189:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
I’m stumped… Am I trying to upgrade Node the right way for Ghost? I’ve never had issues just installing the newer version over the old version of Node.
Thank for all your help.