dpcunningham / process-spinup-devenv-ionic4-ng-on-linux

Process: Spin Up a Development Environment for Ionic 4 (default Angular) Apps
0 stars 0 forks source link

install: Node.js, npm, and ionic #4

Open dpcunningham opened 4 years ago

dpcunningham commented 4 years ago

Per: Get started with Ionic (Install with CLI tab):

This is kind of a shitty guide. They say, in a very blasé/sanguine tone:

First, install Node.js. Then, install the latest Ionic command-line tools in your terminal. Follow the Android and iOS platform guides to install required tools for development.

The first seems easy. But it's easy to mess yourself up. If you go to the Node.js project site, it'll confidently suggest a download for you, with no hesitation whatsoever. It looks straightforward, but it's really a tarball that unpacks into a tree you end up dumping somewhere, with headers, libs, and even executable in a ./bin subdirectory. If you slap that into place, you are going to get bitten in the foot when it's time to upgrade in the future.

  1. My recommendation: Don't install the binary distribution auto-suggested straight from the main page. Do, however, note that latest stable LTS version number.
  2. Instead, go the the download page...
  3. Then. scroll down & look for the link: Installing Node.js via package manager
  4. Once there, look for the package management installation pipeline appropriate for your platform. I run Linut Mint 19, so I went with the standard: Debian and Ubuntu based Linux distribution...
  5. This lets you know that the Official Node.js binary distributions are provided by NodeSource. That ain't obscure at all, right?
  6. For my install on my platform, the straight-up Debian/Ubuntu-based installation instructions are (jeez, finally!) presented here...

Verify w/:

$ node --version
v10.16.3
$ npm --version
6.9.0
$ ionic --version
5.2.5

The next two... not so much. We'll pick them up in separate task issues:

Before we deal those, we note that our versions are woefully out of date. The process for upgrading Node is a little different than the normal apt-get update cycle or running a(re)installer. We'll deal with that in this issue:

dpcunningham commented 4 years ago
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls  -l /usr/bin/node
lrwxrwxrwx 1 root root 53 Aug 19 21:24 /usr/bin/node -> /usr/local/lib/nodejs/node-10.16.3-linux-x64/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ node --version
v10.16.3
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ node -v
v10.16.3
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ sudo npm cache clean -f 
[sudo] password for dpc:                  
npm WARN using --force I sure hope you know what you are doing.
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ sudo npm install -g n 
/usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/n -> /usr/local/lib/nodejs/node-v10.16.3-linux-x64/lib/node_modules/n/bin/n
+ n@6.1.3
added 1 package from 4 contributors in 0.27s
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ sudo n stable

  installing : node-v12.13.1
       mkdir : /usr/local/n/versions/node/12.13.1
       fetch : https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.gz
   installed : v12.13.1 to /usr/local/bin/node
      active : v10.16.3 at /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/node

dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls  -l /usr/bin/node
lrwxrwxrwx 1 root root 53 Aug 19 21:24 /usr/bin/node -> /usr/local/lib/nodejs/node-10.16.3-linux-x64/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls /usr/local/lib/nodejs/
node-v10.16.3-linux-x64  node-v10.16.3-linux-x64.tar.xz
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/nod
ls: cannot access '/usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/nod': No such file or directory
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/node
/usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ rm /usr/bin/node
rm: cannot remove '/usr/bin/node': Permission denied
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ sudo rm /usr/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls  /usr/local/n/versions/node/12.13.1/
bin/          CHANGELOG.md  include/      lib/          LICENSE       README.md     share/        
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls  /usr/local/n/versions/node/12.13.1/bin/node 
/usr/local/n/versions/node/12.13.1/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ln -sf  /usr/local/n/versions/node/12.13.1/bin/node /usr/bin/node
ln: failed to create symbolic link '/usr/bin/node': Permission denied
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ sudo ln -sf  /usr/local/n/versions/node/12.13.1/bin/node /usr/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls  -l  /usr/bin/node
lrwxrwxrwx 1 root root 43 Dec 12 18:37 /usr/bin/node -> /usr/local/n/versions/node/12.13.1/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ node --version
v10.16.3
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ which node
/usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls -l /usr/locl/bin/node
ls: cannot access '/usr/locl/bin/node': No such file or directory
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls -l /usr/local/bin/node
-rwxr-xr-x 1 root root 45605784 Dec 12 18:31 /usr/local/bin/node
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ ls -l ~/.bashrc
-rw-r--r-- 1 dpc dpc 3771 Apr 13  2019 /home/dpc/.bashrc
dpc@LT3-Insp17-2017:~/dpc.data/local.FS/lfs.00-Scratch$ vi ~/.bashrc
dpcunningham commented 4 years ago
 1905  node --version
 1906  node -v
 1907  sudo npm cache clean -f 
 1908  sudo npm install -g n 
 1909  sudo n stable
 1910  ls  -l /usr/bin/node
 1911  ls /usr/local/lib/nodejs/
 1912  ls /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/nod
 1913  ls /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/node
 1914  rm /usr/bin/node
 1915  sudo rm /usr/bin/node
 1916  ls  /usr/local/n/versions/node/12.13.1/bin/node 
 1917  ln -sf  /usr/local/n/versions/node/12.13.1/bin/node /usr/bin/node
 1918  sudo ln -sf  /usr/local/n/versions/node/12.13.1/bin/node /usr/bin/node
 1919  ls  -l  /usr/bin/node
 1920  node --version
 1921  which node
 1922  ls -l /usr/locl/bin/node
dpcunningham commented 4 years ago
 1905  node --version
 1906  node -v
 1907  sudo npm cache clean -f 
 1908  sudo npm install -g n 
 1909  sudo n stable
 1910  ls  -l /usr/bin/node
 1911  ls /usr/local/lib/nodejs/
 1912  ls /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/nod
 1913  ls /usr/local/lib/nodejs/node-v10.16.3-linux-x64/bin/node
 1914  rm /usr/bin/node
 1915  sudo rm /usr/bin/node
 1916  ls  /usr/local/n/versions/node/12.13.1/bin/node 
 1917  ln -sf  /usr/local/n/versions/node/12.13.1/bin/node /usr/bin/node
 1918  sudo ln -sf  /usr/local/n/versions/node/12.13.1/bin/node /usr/bin/node
 1919  ls  -l  /usr/bin/node
 1920  node --version
 1921  which node
 1922  ls -l /usr/local/bin/node