npm does not support Node.js 

这个是因为npm和Node.js版本不合适,版本对照表在这里https://nodejs.org/zhcn/download/releases/

查看node和npm版本

node -v
npm -v

试图装一个npm结果报错:TypeError: Cannot read propertymatch’ of undefined

npm -g install npm@6.14.8

后面装n也是同样的报错

pxy@pxy-pc:~$ sudo npm install -g n
[sudo] password for pxy: 
npm http GET http://registry.npm.taobao.org/n
npm http 304 http://registry.npm.taobao.org/n
npm http GET http://registry.npmmirror.com/n/-/n-9.0.1.tgz
npm http 200 http://registry.npmmirror.com/n/-/n-9.0.1.tgz
npm ERR! TypeError: Cannot read property 'match' of undefined
....

于是我试着更换npm版本,也试着设置这个:

npm config set strict-ssl false 

没有起效。至于删除packagelock.jsonnode_modules,我发现我根本没有,自然也不会起效。

于是我用apt卸掉了node和npm,打算重装npm,结果

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

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

这个不知道为啥。

反正我确定了apt安装的Node和npm版本都非常低,所以我准备卸载了重装。

卸载使用命令是:

sudo apt-get --purge remove nodejs

然后再确认下:(实际这三条没有影响

sudo apt remove npm 
sudo apt remove node
cd /usr/local/bin

node.js官网https://nodejs.org/zhcn/download/)下载稳定版本
在这里插入图片描述
然后将这个文件解压到/opt下,建立node和npm的软连接检查版本。加入淘宝地址是为了加速npm相关的下载速度

pxy@pxy-pc:/mnt/shared$ sudo tar -xJf node*xz -C /opt
pxy@pxy-pc:/mnt/shared$ sudo ln -s /opt/node-v18.14.2-linux-x64/bin/node /usr/local/bin/node
pxy@pxy-pc:/mnt/shared$ sudo ln -s /opt/node-v18.14.2-linux-x64/bin/npm /usr/local/bin/npm
pxy@pxy-pc:/mnt/shared$ npm -v
9.5.0
pxy@pxy-pc:/mnt/shared$ node -v
v18.14.2
pxy@pxy-pc:/mnt/shared$ sudo npm config set registry https://registry.npm.taobao.org
pxy@pxy-pc:/mnt/shared$ source ~/.bashrc

原文地址:https://blog.csdn.net/pxy7896/article/details/129302703

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_11457.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注