A few weeks ago “Introducing Postman“, my first course for LinkedIn Learning/Lynda.com went live. This course focuses on many of the most useful features for individuals working with Web-based APIs including making requests, organizing requests, managing environments and variables, and sharing authentication methods across requests within folders and collections.
In an effort to minimize 3rd party dependencies that could “break” the course I developed a sample API and constructed all of the demos and exercises around that. I provided instructions for both Windows and Mac users to run the API prior to diving into the Postman demos. Naturally, one of the first questions asked about the course was “How do you run the sample application on Ubuntu 18?”
Now I freely bounce back and forth between Mac and Windows but I’m not what one would consider a Linux aficionado. Upon seeing that question I said to myself “Hmm, that’s a great question!” and set out to learn how to do it myself. I’m writing this with the hope that it answers that question and helps others who run into the same issue.
Installing Ubuntu on Parallels
I don’t generally have access to an Ubuntu box so my first step was getting a VM up and running. I began by obtaining the ISO image for Ubuntu 18.04.2 LTS. This was nearly a 2GB download so I was really happy about my gigabit fiber connection! Installation in a Parallels VM was easy although I did need to tweak some settings to get a resolution better than 600×800.
The next issue was that I wanted to share some files between the environments to help document this process. I verified that Parallels was configured to share my home folder and that it was set to map the Mac volumes to Linux but I couldn’t find the shared folders anywhere within the VM. I had seen warnings that the Parallels Tools are broken on Ubuntu 18. I did stumble upon some instructions on how to get them to run. I snapshotted my VM and tried them out but unfortunately it appears that the Parallels Tools have been updated since those instructions were written and they no longer worked. Since I didn’t plan on keeping this VM around long I gave up trying here and just used a cloud storage account to transfer files between the two environments.
The sample API delivered with the course is a node.js application so we need to install node.js to run it. This was pretty easy and required only following this tutorial provided by DigitalOcean which walks us through obtaining the packages through
apt. The relevant part of the tutorial is under the heading “Installing the Distro-Stable Version for Ubuntu.”
After installing both node.js and npm I checked the versions and found versions 8.10.0 and 3.5.2 were installed, respectively. The node.js version agreed with that listed in the tutorial but I’m sure that will change at some point.
Running the Sample API
Once node.js and npm are installed we can run the API. As described in the course we need to navigate to the
api/node folder from the exercise files. Once there we can run follow the instructions for running on a mac:
npm ito install the various dependency packages
npm run start-macto start the sample API
When the API is running you’ll see a message indicating that it is listening on port 3000.
For the sake of completeness let’s also look at installing Postman on Ubuntu. Postman can be obtained through either the Postman download page as described in the course or through the Ubuntu Software utility. Unfortunately at the time of this writing the version in the Ubuntu Software utility is 6.7.1 which is incompatible with 7.x. I’ve updated a number of my projects already so I opted for downloading the software from getpostman.com and following the installation instructions there.
It turns out that installing Postman in a Linux environment isn’t quite as straightforward as Windows or Mac. Installing it on Ubuntu 18 also requires the additional installation of
libgconf-2-4 so be sure to follow those Linux installation instructions carefully.
Making a Request
Once I got Postman installed I was able to log in with the Postman account I used to record the course. I was immediately presented with the history and collections as I left them. I opened the
API Status request, sent it, and saw the expected result as described in the course.
So there you have it – running the Sample API from my Introducing Postman course on LinkedIn Learning/Lynda.com. The setup itself wasn’t so bad and chances are that if you’re asking the question you won’t be dealing with the VM setup headaches I did when I set out to answer the question. In general I found the overall experience of getting both the sample API and Postman running on Ubuntu 18 to be a bit tiresome but I think a good chunk of that is attributable to my lack of experience with that particular environment.
Regardless, I hope this helped you out!