Recently, I have been spending lots of time with Blockchain, Etheruem, and Smart Contracts. Ubuntu continues to baffle me, it’s AWESOME, secure, and very dependable, however, deploying/configuring things sometimes will take an army to make it happen, especially with Linux’s useless error messages.
In this post, I am sharing a troubleshooting journey that I went through with installing Ethereum Waffle on an Ubuntu development virtual machine. It all started with the following error message
undefined ls-remote -h -t https://github.com/ethereumjs/ethereumjs-abl.git
Check out the screenshot below, as soon as I run
npm install ethereum-waffle

hmm, where to start? Looking thoroughly into the error output, I found this interesting line
This is related to npm not being able to find a file.
From experience, usually, the first thing to start with is making sure that I am running the latest stable build of Node.js. A quick version check with
node -v
shows that I am not running the latest version. Instead of v16, I am running v10. Let’s fix that, so I started first with
sudo apt update
” and “sudo apt upgrade

Once done with that, let’s make sure we get the latest version of Node.js. A quick search over Google, I landed on a Node Source article that touches base on this. Fast forward, make sure you have CURL installed and run this
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash

As we have the latest binaries now available for installation, go ahead and run
sudo apt install -y nodejs

Doing a quick version check, I see we are running the latest build version v16. now let’s try installing Ethereum Waffle again, and crossing my fingers this time it will work. Otherwise, this article will grow longer 😉

Yes, the installation was completed successfully.! So, the moral of this, if Ethereum Waffle is throwing a tantrum during installation, make sure you are running v16 or higher of Node.js.