npm 命令不适用于 ubuntu

npm command not working on 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)

我是node新手,网上没找到解决此类错误的方法

您很可能 运行 是 node.js 的旧版本(用 node -v 验证,在撰写本文时,最新的 lts 是 6.x)。我想你试图用 apt-get install nodejs 或类似的方式安装它。 ubuntu 14 附带的软件包已过时,请按照 nodejs' download page 上的建议进行操作,然后执行以下操作:

第 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

欲了解更多信息,package manager

这对我有用 Ubuntu 18.04:

sudo apt install nodejs
sudo apt install npm

你好,你也可以试试这个。这对我有用:)

#可选

sudo apt-get 更新

#install curl(可选)

sudo apt-get install build-essential libssl-dev curl

#安装curl节点包

卷曲-sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

#安装节点

sudo apt-get install -y nodejs