在Ubuntu上npm命令无法工作

6

我在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,但是在网上没有找到解决此错误的方法。


1
你尝试了什么确切的命令行?你在使用sudo吗? - R. Richards
1
@R.Richards 我同意我们需要确切的命令,但我认为这与sudo无关,否则它会出现EACESS错误。 - Dhyey
你说得对!我们会在输出中看到那个。很好发现。 - R. Richards
我正在尝试使用npm install angular命令通过npm安装Angular,即使使用sudo也不起作用。我已经尝试过重新安装Node和npm一次了。 - Pragati Basa
4个回答

32

你很可能正在使用旧版的node.js(可以通过运行node -v来验证,在撰写本文时,最新的lts版本是6.x)。我猜测你尝试使用apt-get install nodejs或类似命令进行安装。ubuntu 14自带的软件包已经过时,请按照nodejs下载页面上的建议操作:

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

sudo apt-get remove --purge nodejs

第二步,逐个输入以下命令并跟随屏幕提示:

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

现在您安装了一个允许使用ES6方法的Node.js版本,其中Object.assign就是其中之一


今天的deb链接还有效吗? - David G

5

这对我在Ubuntu18.04上有效:

sudo apt install nodejs
sudo apt install npm

1

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

欲了解更多信息,请参见软件包管理器


0

你好,你也可以试试这个方法。这对我有效 :)

#可选

sudo apt-get update

#安装curl(可选)

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

#安装curl node包

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

#安装node

sudo apt-get install -y nodejs


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接