Thomas Stout
Thomas Stout

Reputation: 633

Unexpected token '.' when trying to run 'npm install'

I am trying to install the angular cli with 'npm install -g @angular/cli' and I am met with the following error:

npm ERR! Unexpected token '.'
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\<user>\AppData\Local\npm-cache\_logs\2022-02-02T15_25_07_320Z-debug-0.log

Version of npm: 8.3.1 Version of node: v17.4.0

Any help would be greatly appreciated! Thank you :)

Upvotes: 63

Views: 92993

Answers (13)

c_froehlich
c_froehlich

Reputation: 1575

I forgot to execute nvm use in a new shell and thus ran the command on the default nodejs of my system.

The default nodejs was way older than the version we used to develop the app.

After nvm use the error was gone.

Upvotes: 1

P.Brian.Mackey
P.Brian.Mackey

Reputation: 44285

Angular 16.0.5 doesn't install with most node 16.x versions on Windows. In my case I only need Angular 14 (which does work with Node v16.13.1). I got back up and running again by:

Installed nvm v1.1.11 (or newer should work)

Once nvm is installed, go to the cmd line and run these commands:

  • nvm install 16.13.1
  • nvm use 16.13.1
  • npm i -g @angular/[email protected] (Force Downgrade Angular to a working version)

If you are not using NVM

Installing node v16.13.1 and then doing a forced downgrade (npm i -g @angular/[email protected]) should also work.

Upvotes: 0

Tina Bhowal
Tina Bhowal

Reputation: 1

I faced the same while installing angular cli. Here is what I did

  1. updated nvm (I was using 1.1.7 on windows)
  2. used node version 16.18.0 . I had tried all the other versions but apparently nothing worked.

Upvotes: 0

Wollens
Wollens

Reputation: 321

if you use windows, this error maybe nvm version error. you can download latest nvm version to fixed. download nvm-update.zip

Upvotes: 0

Telma C.
Telma C.

Reputation: 366

The following worked for me.

Upgrade NVM for windows to version 1.1.10 by downloading the 'nvm-update.zip' folder from their repository (https://github.com/coreybutler/nvm-windows/releases) and install it.

After that remove the broken node version (in my case 18.10.0) and re-install it again using the updated NVM.

Everything working again 👍

Upvotes: 17

nosoythor
nosoythor

Reputation: 319

I had the same issue, I was using choco to manage it better on windows. The solution was to uninstall nvm using choco and reinstall it again, then just download and use the latest version of npm/node.

choco uninstall nvm
choco install nvm
nvm install latest
nvm use [latest]

Replace [latest] with the last version installed.

After this, you should be able to use npm commands with no error.

Upvotes: 2

nbkhope
nbkhope

Reputation: 7474

I had this problem with Windows 10 and Node 18 and NPM 8. I also used NVM for Windows. This is what I did to get around the problem:

  • install latest version of NVM for Windows on top of existing
  • call nvm uninstall 18.X.X, where 18.X.X is the version you are using
  • call nvm install 18.X.X, where 18.X.X is the version you are using

Upvotes: 27

王超华
王超华

Reputation: 558

If you are using NVM 1.1.7, you can upgrade to NVM 1.1.9

nvm Portal: https://github.com/coreybutler/nvm-windows/releases

Upvotes: 39

Christiaan Westerbeek
Christiaan Westerbeek

Reputation: 11157

Some other answers here are probably right. I didn't bother to investigate and tried yarn.

In my case I got the "Unexpected token '.'" error when installing npm-check-updates and fixed that by installing it using yarn.

yarn global add npm-check-updates

Upvotes: 2

Shimi Shimson
Shimi Shimson

Reputation: 1090

Had this issue on Win 10, npm 8.1.2, node 16.14.2, nvm 1.1.17 and 1.1.19. Downgrading to node 16.13.2 fixed the problem as per this answer: https://github.com/npm/cli/issues/4234#issuecomment-1025421643

Upvotes: 42

Antonio B
Antonio B

Reputation: 51

The main problem is that, if you try to follow the steps to install angular, you will inevitably run into this error, because the recommended version of node.js is 16.14.0, and node already tells you that it comes with 8.3.1 node version: captura de pantalla de node.js con la versión recomendada de node

To solve this problem, you can install node versión 16.13.2, that comes with npm 8.1.2 version (instead of 8.1.3), as it is said here: https://nodejs.org/en/download/releases/

Note: I use nvm

Then you could install angular.

Another possibility, if you want to use angular with node 16.14.0, could be to upgrade the npm version. The problem is that, when you try to do so, it will arise the same error that appeared when you tried to install angular.

To solve this, I recommend this:

a) Install a previous version of node that uses another version of npm, as node 16.13.2, that comes with npm 8.1.2. Personally I have several versions of node through nvm (node version manager) for windows.

b) Copy the npm package of this node installation of node 16.13.2, and change it into the folder of the node 16.14.0 (delete or rename old npm folder before).

c) Use node 16.14.0 typing nvm use 16.4.0

d) Upgrade npm typing npm install -g npm@latest.

Here you could see the sequence:

First, rename npm 8.1.3 and paste npm 8.1.2: Muestra cómo quedan las carpetas con el npm

Then, you can see here the commands in the MS-DOS console:

C:\Users\AB>npm -v
    8.1.2

 
C:\Users\AB>npm version
    {
      npm: '8.1.2',
      node: '16.14.0',
      v8: '9.4.146.24-node.20',
      uv: '1.43.0',
      zlib: '1.2.11',
      brotli: '1.0.9',
      ares: '1.18.1',
      modules: '93',
      nghttp2: '1.45.1',
      napi: '8',
      llhttp: '6.0.4',
      openssl: '1.1.1m+quic',
      cldr: '40.0',
      icu: '70.1',
      tz: '2021a3',
      unicode: '14.0',
      ngtcp2: '0.1.0-DEV',
      nghttp3: '0.1.0-DEV'
    }
     

C:\Users\AB>npm install -g npm@latest
  
    removed 186 packages, changed 19 packages, and audited 36 packages in 25s
       
found 0 vulnerabilities
     

C:\Users\AB>npm version

{
      npm: '8.5.2',
      node: '16.14.0',
      v8: '9.4.146.24-node.20',
      uv: '1.43.0',
      zlib: '1.2.11',
      brotli: '1.0.9',
      ares: '1.18.1',
      modules: '93',
      nghttp2: '1.45.1',
      napi: '8',
      llhttp: '6.0.4',
      openssl: '1.1.1m+quic',
      cldr: '40.0',
      icu: '70.1',
      tz: '2021a3',
      unicode: '14.0',
      ngtcp2: '0.1.0-DEV',
      nghttp3: '0.1.0-DEV'
    }
        
C:\Users\AB>npm install -g @angular/cli
        
added 189 packages, and audited 191 packages in 1m
             found 0 vulnerabilities

     
C:\Users\AB>ng version
   
         _                      _                 ____ _     ___
        / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
       / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
      / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
    /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                    |___/

 

 
    Angular CLI: 13.2.5
    Node: 16.14.0
    Package Manager: npm 8.5.2
    OS: win32 x64
     

Angular:
   
    Package                      Version
    ------------------------------------------------------
    @angular-devkit/architect    0.1302.5 (cli-only)
    @angular-devkit/core         13.2.5 (cli-only)
    @angular-devkit/schematics   13.2.5 (cli-only)
    @schematics/angular          13.2.5 (cli-only)

Upvotes: 5

Philipp Meissner
Philipp Meissner

Reputation: 5482

This is a reported issue for npm version 8.3.1.

Your best bet is to skip this version (Either use 8.3.2 or 8.4), use an earlier version (8.3.0) or use another node version (< 17).

Upvotes: 24

CK Chan
CK Chan

Reputation: 59

You may try removing the package-lock.json by rm package-lock.json. then try again.

Upvotes: -5

Related Questions