Kallithea issues archive

Issue #338: Upgrading 0.3.x to 0.4.0 : kallithea-cli front-end-build throws error: "Unexpected Token"

Reported by: Edmund Wong
State: resolved
Created on: 2019-04-01 09:05
Updated on: 2019-04-03 16:03

Description

During upgrading from a 0.3.x instance to a 0.4.0 instance, I'm getting the following error when I run "kallithea-cli front-end-build":

/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/front-end/node_modules/license-checker/node_modules/read-installed/node_modules/read-package-json/read-json.js:390
      fs.stat(binPath, (err) => handleExists(relName, !err))
                              ^
    SyntaxError: Unexpected token >
        at Module._compile (module.js:439:25)
        at Object.Module._extensions..js (module.js:474:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:312:12)
        at Module.require (module.js:364:17)
        at require (module.js:380:17)
        at Object.<anonymous> (/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/front-end/node_modules/license-checker/node_modules/read-installed/read-installed.js:99:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
Traceback (most recent call last):
  File "/var/www/environments/kalivenv/bin/kallithea-cli", line 11, in <module>
    load_entry_point('Kallithea', 'console_scripts', 'kallithea-cli')()
  File "/var/www/environments/kalivenv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/var/www/environments/kalivenv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/var/www/environments/kalivenv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/var/www/environments/kalivenv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/var/www/environments/kalivenv/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/bin/kallithea_cli_front_end.py", line 97, in front_end_build
    cwd=front_end_dir, shell=kallithea.is_windows)
  File "/opt/python27/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/front-end/node_modules/.bin/license-checker', '--json', '--out', '/var/www/environments/kalivenv/lib/python2.7/site-packages/kallithea/front-end/tmp/licensing.json']' returned non-zero exit status 8

Attachments

Comments

Comment by Edmund Wong, on 2019-04-01 09:09

Comment by Edmund Wong, on 2019-04-01 09:10

Comment by Edmund Wong, on 2019-04-01 09:13

Comment by Thomas De Schampheleire, on 2019-04-01 09:15

Comment by Thomas De Schampheleire, on 2019-04-01 09:22

What are the versions you have for npm and node? On my side I have:

> npm --version                                                                      
6.4.1
> node --version                                                                     
v8.12.0

In the file 'read-json.js', I also have that '=>' syntax, but it does not give any problem. I therefore suspect you have an older version of node.

What is also different in the output is that packages are installed nested in your case:

kallithea/front-end/node_modules/license-checker/node_modules/read-installed/node_modules/read-package-json/read-json.js:390

In my case, the file is at: kallithea/front-end/node_modules/read-package-json/read-json.js

I assume this is also related to the version of npm.

Comment by Edmund Wong, on 2019-04-01 09:32

Apparently I had installed the wrong version of nodejs... an old version. Just fixed that and now it works.

So closing this.

Sorry for the noise.

Comment by Edmund Wong, on 2019-04-01 09:32

Resolving as it was a PEBCAK error.

Comment by Thomas De Schampheleire, on 2019-04-01 09:52

Do you still know which npm/node version was the old one, and which is the new? It could be useful later for other people, thanks.

Comment by Mads Kiilerich, on 2019-04-02 00:32

It seems like a "npm" issue if it happily is installing packages that doesn't work in the environment. But I guess we have to be prepared for that. Perhaps by adding a check for supported npm versions in front-end-build? Or at least be explicit about a minimum version in the documentation.

Comment by Edmund Wong, on 2019-04-03 01:49

the node and npm versions were very old as I had used the "yum install nodejs" which installs the old-as-heck nodejs from the yum repos.

The versions are: node: 0.10.48 npm: 1.3.6

Comment by Mads Kiilerich, on 2019-04-03 16:03

We should perhaps have code in front-end-build that warns/fails if version is too old. Whatever limit is right - that might need some experiments.