npm命令不工作在Ubuntu上

我在Ubuntu 14.04上安装了node和npm,当我尝试使用任何npm命令时,出现以下错误:

/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) 

我是新使用节点,我没有find任何解决scheme在线这样的错误

你很可能会运行一个老版本的node.js(用node -vvalidation,在写这个的时候,最新的版本是6.x)。 我想你试图用apt-get install nodejs或类似的方法安装它。 与Ubuntu 14一起发货的软件包已经过时了,请按照nodejs的下载页面上的build议进行操作 ,并执行以下操作:

第1步,删除旧的软件包:

 sudo apt-get remove --purge nodejs 

步骤2,依次键入以下命令并按照屏幕:

 curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs 

现在你已经安装了一个允许ES6方法的nodejs版本,因为Object.assign就是其中之一

npm可能是旧版本,

所以删除nodejs,

 sudo apt-get remove nodejs sudo apt-get remove npm 

然后,

 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 

包经理