參考:
https://www.jianshu.com/p/8ed33a5246f1
現象:
在sudo apt-get install ros-kinetic-serial安裝ros 序列槽包時,出現了下面的錯誤,導緻無法安裝
Err:1 http://packages.ros.org/ros/ubuntu xenial/main amd64
ros-kinetic-serial amd64 1.2.1-0xenial-20180809-141256-0800 404 Not
Found [IP: 2605:bc80:3010::134 80] E: Failed to fetch
http://packages.ros.org/ros/ubuntu/pool/main/r/ros-kinetic-serial/ros-kinetic-serial_1.2.1-0xenial-20180809-141256-0800_amd64.deb
404 Not Found [IP: 2605:bc80:3010::134 80]
E: Unable to fetch some archives, maybe run apt-get update or try with
–fix-missing?
試了更新source源位址,仍然無法安裝這時嘗試手動安裝;
解決辦法:
手動搜尋安裝
1.複制上面提示的位址:http://packages.ros.org/ros/ubuntu/pool/main/r/ros-kinetic-serial/
打開網頁後找到與自己的系統對應的安裝包的版本
發現我們在sudo apt-get install ros-kinetic-serial的時候,Ubuntu自動擷取的版本是ros-kinetic-serial_1.2.1-0xenial-20180809-141256-0800_amd64.deb,但是我們打開官網後,發現這個版本已經沒有了,隻有最新的版本ros-kinetic-serial_1.2.1-0xenial-20190607-172310-0800_amd64.deb。這就是我們直接使用指令安裝的時候,Ubuntu找不到安裝源檔案的原因。接下裡我們下載下傳與上面的錯誤現象提示中對應的amd64.deb版本
使用指令:sudo dpkg -i 軟體包名.deb安裝該包
如果安裝失敗的話指令行中會提示缺少哪些依賴,按照同樣的方式先手動安裝好依賴的package,顯示下面的提示,安裝成功。
Selecting previously unselected package ros-kinetic-serial. (Reading
database … 419552 files and directories currently installed.)
Preparing to unpack
ros-kinetic-serial_1.2.1-0xenial-20190607-172310-0800_amd64.deb …
Unpacking ros-kinetic-serial (1.2.1-0xenial-20190607-172310-0800) …
Setting up ros-kinetic-serial (1.2.1-0xenial-20190607-172310-0800) …
現在可以正常使用該包了:
#include <serial/serial.h>
serial::Serial led_serial;
解除安裝手動安裝的包
解除安裝.deb檔案,可以使用Adept,或輸入:
sudo apt-get remove 軟體包名稱