0%

Ubuntu npm 依赖 node-gyp 出错

提示信息:

Ubuntu npm : 依赖: node-gyp (>= 0.10.9) 但是它将不会被安装

解决方案:安装最新版的 Node.js 和 npm

QQ群:397745473

报错信息

1
2
3
4
5
6
7
8
9
10
11
12
root@_:# apt-get install npm
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
npm : 依赖: node-gyp (>= 0.10.9) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

提示少 node-gyp 依赖,而安装node-gyp也会报错

1
2
3
4
5
6
7
8
9
10
11
12
root@_:# apt-get install node-gyp
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
node-gyp : 依赖: nodejs-dev 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

这里再安装 nodejs-dev 同样也会报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@_:# apt-get install nodejs-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
nodejs-dev : 依赖: libuv1-dev (>= 1.15.0) 但无法安装它
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

root@_:# apt-get install libuv1-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 libuv1-dev,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 libuv1-dev 没有可安装候选

问题解决

  1. 卸载已安装的Node和npm

    1
    2
    3
    4
    sudo apt remove npm  //卸载npm
    sudo apt remove node //卸载node

    cd /usr/local/bin //进入该目录中,若有node或者npm文件,将他删除删除
  2. 官网下载最新的node.js

https://nodejs.org/en/download/current/

下载对应版本的nodejs

  1. 解压并建立软链接

    1
    2
    3
    tar -xJf node-vx.x.x-linux-x64.tar.xz  -C /opt   //解压到opt目录下
    sudo ln -s /opt/node-vx.x.x-linux-x64/bin/node /usr/local/bin/node
    sudo ln -s /opt/node-vx.x.x-linux-x64/bin/npm /usr/local/bin/npm

问题解决!

使用淘宝镜象

1
2
sudo npm config set registry https://registry.npm.taobao.org   //设置淘宝镜像
source ~/.bashrc //使修改立即生效

QQ群:397745473

欢迎关注我的其它发布渠道