Notes on Moving Meteor Development to WSL Debian

https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

Turn Windows Features on and off, scroll down and check Windows Subsystem for Linux

Click on OK, and WSL will install. You’ll need to reboot to enable it.

From there, go to the Windows Store and choose your preferred Linux distribution. I used Debian.

Click on Get, install the distribution, and if you want, launch the terminal from the Start menu Debian Icon.

I use CMDR (https://cmder.net). It is superior to the default WSL Bash terminal and Windows Terminal for WSL support, multiple tabs and better character support. You’ll need the multiple tabs to run meteor and meteor mongo simultaneously.

Open up a CMDR WSL Bash terminal. You are in the home/user folder.

Update:
sudo apt update

Install curl
sudo apt-get install curl

Install Meteor
curl https://install.meteor.com/ | sh

Install MongoDB Tools, allows you to bulk import json data
sudo apt-get install mongo-tools

Install git
sudo apt-get install git

Create a Meteor app
meteor create –react ~/myapp
cd ~/myapp
meteor

Open a new WSL tab
meteor mongo

If you get an error like:
WSL Error:
Retrying after error { Error: SQLITE_IOERR: disk I/O error
=> awaited here:
at Promise.await
(/home/debian/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:60:12)
at Db._execute (/tools/packaging/catalog/catalog-remote.js:347:15)

You will need to:
vi .meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/packaging/catalog/catalog-remote.js

Find:
self._execute(`PRAGMA journal_mode=${JOURNAL_MODE}`);
Replace with:
self._execute(`PRAGMA journal_mode=TRUNCATE`);
Exit and Save (ESC :wq ENTER)

If you had to sudo vi running meteor may error with permission denied. So youmay need to:
chmod +rw .meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/tools/packaging/catalog/catalog-remote.js

All of that should allow you to open multiple tabs while running meteor. Run meteor in the first tab then in the second tab import your data:
mongoimport -h localhost:3001 –db meteor –collection mydata –type json –file “./.db-json/mydata.json” –jsonArray

show dbs
use meteor
show collections
db.mydata.find().count()
db.mydata.find().pretty()
db.mydata.remove({}) – to delete all records

You can also:

Open explorer where you are:
explorer.exe . (that is a space and a period after the exe)

Open Visual Studio Code where you are:
code .

Other Notes:

meteor remove blaze-html-templates
meteor add angular-templates
meteor npm install –save angular angular-meteor

meteor remove static-html

meteor add accounts-password dotansimha:accounts-ui-angular
meteor npm install –save bcrypt

meteor remove insecure

meteor remove autopublish

Need to get Docker to work:

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
manually add deb https://download.docker.com/linux/ubuntu bionic stable to software sources
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo systemctl status docker
sudo docker run hello-world
sudo docker info
sudo docker version

sudo usermod -a -G docker $USER
sudo reboot

npm update caniuse-lite browserslist ???

docker build -t pipefitters .
docker run -d -p 80:3000 pipefitters
no workie

https://cloud.mongodb.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s