I installed node and npm on Ubuntu 14.04 and when I try to use any npm command, I get the following error:
/usr/local/lib/node_modules/npm/lib/config/cmd-list.js:113
module.exports.aliases = Object.assign({}, shorthands, affordances)
^
TypeError: Object function Object() { [native code] } has no method 'assign'
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/config/cmd-list.js:113:33)
at Module._compile (module.js:456:26)
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 /usr/local/lib/node_modules/npm/lib/npm.js:37:17
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/npm.js:471:3)
at Module._compile (module.js:456:26)
I'm new to using node and I didn't find any solution to such an error online
You are most likely running an old version of node.js (verify with node -v
, at the time of writing this, the latest lts is 6.x). I suppose you tried to install it with apt-get install nodejs
or similar. The packages shipped with ubuntu 14 are outdated, follow the advice on nodejs' download page instead, and do the following:
Step 1, remove the old packages:
sudo apt-get remove --purge nodejs
Step 2, type the following commands one after the other and follow the screen:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Now you have a version of nodejs installed that allows ES6 methods, as Object.assign
is one of them
npm might be older version,
so remove nodejs,
sudo apt-get remove nodejs
sudo apt-get remove npm
then,
sudo apt-get install curl #if you dont have curl
Node.js v6:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Node.js v7:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
Node.js 8:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
for more info, package manager