我想在ubuntu中安装nodejs,我安装了nodejs并检查了它的版本,它运行正常但是npm没有正确安装

时间:2018-04-04 07:02:50

标签: ubuntu-16.04

我使用以下命令安装了nodejs:

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

之后我检查了它的版本,它显示:        v7.10.1 但是当我使用npm -v检查npm版本时,它显示错误

/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:6
let url
^^^
        SyntaxError: Unexpected strict mode reserved word
           at Module._compile (module.js:437:25)
           at Object.Module._extensions..js (module.js:467:10)
           at Module.load (module.js:356:32)
           at Function.Module._load (module.js:312:12)
           at Module.require (module.js:362:17)
           at require (module.js:378:17)
           at Object.<anonymous> 
       (/usr/local/lib/node_modules/npm/node_modules/npm-registry- 
       client/lib/access.js:5:11)
           at Module._compile (module.js:449:26)
           at Object.Module._extensions..js (module.js:467:10)
           at Module.load (module.js:356:32)

用于安装npm我用过命令:sudo apt-get install npm,它显示如下

sudo apt-get install npm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
       Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
       Depends: node-ansi-color-table but it is not going to be installed
       Depends: node-archy but it is not going to be installed
       Depends: node-block-stream but it is not going to be installed
       Depends: node-fstream (>= 0.1.22) but it is not going to be installed
       Depends: node-fstream-ignore but it is not going to be installed
       Depends: node-github-url-from-git but it is not going to be installed
       Depends: node-glob (>= 3.1.21) but it is not going to be installed
       Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
       Depends: node-inherits but it is not going to be installed
       Depends: node-ini (>= 1.1.0) but it is not going to be installed
       Depends: node-lockfile but it is not going to be installed
       Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
       Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
       Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
       Depends: node-gyp (>= 0.10.9) but it is not going to be installed
       Depends: node-nopt (>= 3.0.1) but it is not going to be installed
       Depends: node-npmlog but it is not going to be installed
       Depends: node-once but it is not going to be installed
       Depends: node-osenv but it is not going to be installed
       Depends: node-read but it is not going to be installed
       Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
       Depends: node-request (>= 2.25.0) but it is not going to be installed
       Depends: node-retry but it is not going to be installed
       Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
       Depends: node-semver (>= 2.1.0) but it is not going to be installed
       Depends: node-sha but it is not going to be installed
       Depends: node-slide but it is not going to be installed
       Depends: node-tar (>= 0.1.18) but it is not going to be installed
       Depends: node-underscore but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

2 个答案:

答案 0 :(得分:0)

试试这个

更新apt-get update 获取安装脚本并将其传递给执行:

curl -sL https://deb.nodesource.com/setup_7.x | bash

并安装节点apt-get install nodejs 确认成功node -v npm自动安装 npm -v

注意 - 不要使用apt-get install -y nodejs而是使用apt-get install nodejs,它会自动安装指定的节点版本和npm。

我希望这能解决你的问题。我已完成上述步骤并成功更新,没有任何问题。如果您有任何问题或疑虑,请告诉我。

答案 1 :(得分:0)

当您尝试使用apt-get安装软件包时,取决于其他软件包,apt-get仅尝试安装最重要的软件包,而apt-get不安装依赖项。因此,还有另一个像apt-get这样的软件包管理器,称为aptitude,它安装软件包和依赖项。因此,您可以执行以下操作:

sudo aptitude install npm