我正在尝试在 beaglebone green 上的 debian 8.10 上安装 gcc-5。
我查看了许多主题,其中以下是最有希望的。 如何在 debian jessie 8.1 上安装 GCC 5
当我尝试遵循的指示时
echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
当我尝试使用 sudo 进行相同操作时,我收到一个错误。
如果我使用 sudo su - 提升用户,看来我成功了。
debian@beaglebone:~$ echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
-bash: /etc/apt/sources.list.d/unstable.list: Permission denied
debian@beaglebone:~$ sudo echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
-bash: /etc/apt/sources.list.d/unstable.list: Permission denied
debian@beaglebone:~$ sudo su -
root@beaglebone:~# echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
root@beaglebone:~# cat /etc/apt/sources.list.d/unstable.list
deb http://ftp.us.debian.org/debian unstable main contrib non-free
root@beaglebone:~# exit
logout
debian@beaglebone:~$ sudo cat /etc/apt/sources.list.d/unstable.list
deb http://ftp.us.debian.org/debian unstable main contrib non-free
debian@beaglebone:~$
继续, sudo apt-get update 一切似乎都很好。
debian@beaglebone:~$ sudo apt-get update
Ign http://deb.debian.org jessie InRelease
Hit http://repos.rcn-ee.com jessie InRelease
Hit http://deb.debian.org jessie-updates InRelease
Hit http://deb.debian.org jessie/updates InRelease
Hit https://deb.nodesource.com jessie InRelease
Hit https://deb.nodesource.com jessie InRelease
Hit http://ftp.us.debian.org unstable InRelease
Hit http://deb.debian.org jessie Release.gpg
Hit http://deb.debian.org jessie Release
Get:1 http://repos.rcn-ee.com jessie/main armhf Packages [987 kB]
Get:2 http://deb.debian.org jessie-updates/main armhf Packages [20 B]
Get:3 http://deb.debian.org jessie-updates/contrib armhf Packages [20 B]
Get:4 https://deb.nodesource.com jessie/main armhf Packages [980 B]
Get:5 http://deb.debian.org jessie-updates/non-free armhf Packages [20 B]
Get:6 http://deb.debian.org jessie/updates/main armhf Packages [961 kB]
Get:7 https://deb.nodesource.com jessie/main Sources [20 B]
Get:8 https://deb.nodesource.com jessie/main armhf Packages [765 B]
Get:9 http://ftp.us.debian.org unstable/main armhf Packages [11.9 MB]
Get:10 http://deb.debian.org jessie/updates/contrib armhf Packages [994 B]
Get:11 http://deb.debian.org jessie/updates/non-free armhf Packages [4,393 B]
Get:12 http://deb.debian.org jessie/main armhf Packages [8,898 kB]
Get:13 http://ftp.us.debian.org unstable/contrib armhf Packages [61.4 kB]
Get:14 http://ftp.us.debian.org unstable/non-free armhf Packages [78.7 kB]
Get:15 http://deb.debian.org jessie/contrib armhf Packages [44.3 kB]
Get:16 http://deb.debian.org jessie/non-free armhf Packages [74.9 kB]
Fetched 23.0 MB in 1min 22s (281 kB/s)
Reading package lists... Done
debian@beaglebone:~$
但是当我尝试最后一条指令时:
apt-get install -t unstable gcc-5
它不起作用:作为默认用户:
debian@beaglebone:~$ sudo apt-get install -t unstable gcc-5
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gcc-5
debian@beaglebone:~$
如果我提升用户也会发生同样的情况:
root@beaglebone:~# apt-get install -t unstable gcc-5
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gcc-5
root@beaglebone:~#
我正在使用这个内核映像Debian 8.10 2018-02-01 4GB SD SeeedStudio IoT
我需要运行这个特定的图像,因为它是支持的最新图像HDMI 角。
我正在尝试运行 Node.js 服务器以及 C/C++ 代码。无法运行 node.js 服务器和应用程序可以归结为没有正确版本的 gcc,因为:
每当我运行 node server.js 时,都会收到以下错误:
我的主机有 gcc 版本 9.4 和 Node js 版本 10.19
是的,我跑了,
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
在主机和目标上。
我也按照debian 8指南安装了不同版本的nodejs,同样的问题仍然存在。
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-debian-8
任何帮助,将不胜感激。
答案1
您的问题是,您找到的说明与您要使用的 Debian 版本一样古老。我必须强烈反对使用这样的旧软件。请考虑使用更新版本的 Debian。
也就是说,您需要找到适合您所需的 Debain 版本的 gcc-5 存储库。 “unstable”是指当前版本的代号,如“现在”版本,这意味着不稳定版本中的所有内容都领先于当前稳定版本。另一方面,Jessie 的当前稳定版本已经落后了很长时间。这些软件包不兼容。
即使 jessie-backports 也只会发布 gcc-4.9 而不会发布 5。您可以尝试使用 Debian 扩展存储库,但这可能会很棘手,因为很多东西都依赖于 gcc 软件包,并且可能无法很好地响应新的主要版本。
您只需通过以下方式添加 Stretch 存储库即可
echo "deb http://ftp.us.debian.org/debian stretch main contrib non-free" >> /etc/apt/sources.list.d/buster.list
为了防止升级有可能破坏您的系统,我们必须为这些新存储库分配较低的优先级。
cat - > /etc/apt/preferences.d/99stretch <<EOF
Package: *
Pin: release v=9.13
Pin-Priority: 99
EOF
请参阅apt首选项和不要破坏Debian。新文件S99stretch
应设置拉伸存储库,以便默认情况下您的系统不会从中安装软件包。例如,您可以而且必须明确启用从此存储库安装软件
apt-get install -t strech-main gcc-5
这应该允许您从 strech 存储库专门安装 gcc。尽管如此,这很有可能根本不起作用,或者最终迫使全面升级延长。我没有尝试过这个,如果我一心要坚持杰西的话,这就是我处理这个问题的方法。