ubuntu系统上,用默认的源安装了node.js V12。
发现很多语法不兼容,比如 age?.year, 这种问号缺省取值的方法。
于是只好卸载默认的node.js,安装官网最新的node.js
安装步骤操作:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
上面的语句是安装node.JS v20 的版本。
然后运行命令:
apt install nodejs -y
然后报错就来了
trying to overwrite '/usr/include/node/common.gypi', which is also in package libnode-dev 12.22.9~dfsg-1ubuntu3.5
然后github上也有人遇到了。 解决办法是下面的。不过对于我来说,并没有生效,问题依然存在。
当然你也可以试试,因为我看上面不少人说是解决了问题的了。
cd /etc/apt/sources.list.d
sudo rm nodesource.list
sudo apt --fix-broken install
sudo apt update
sudo apt remove nodejs
sudo apt remove nodejs-doc
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
然后我就到StackOverflow上去找其他答案。
一个一个地尝试,的确很不容易。
最后有用的解决办法如下:
sudo apt remove nodejs
sudo apt remove nodejs-doc
sudo dpkg --remove --force-remove-reinstreq libnode-dev
sudo dpkg --remove --force-remove-reinstreq libnode72:amd64
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs
转载请注明:QMT|Ptrade量化交易 » ubuntus升级node遇到的问题-trying to overwrite ‘usrincludenodecommon.gypi’