根据ros wiki,要设置环境,我打字了
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
错误是
/opt/ros/kinetic/setup.bash:.:8: no such file or directory: /home/pikashun/setup.sh
~/.bashrc
文件中,有source /opt/ros/kinetic/setup.bash
行。
我在WSL上使用Ubuntu。我该如何改进?
谢谢!
我遇到了完全相同的问题。问题不是由于setup.bash
~/.bashrc
而是由于您正在使用的外壳。事实证明,您可能使用的是与bash
不同的外壳(即zsh
)。当您执行 ROS 的setup.bash
时,zsh
以不同的方式解释以下命令(whici 在 /opt/ros/kinetic/setup.bash
中):
_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)
它正在设置_CATKIN_SETUP_DIR
到您的用户目录。这就是为什么你得到错误,导致你使用错误的路径: /home/user/setup.bash
而不是/opt/ros/kinetic/setup.bash
要检查这是否是您的问题,您可以通过在终端中执行以下命令来检查您正在使用的 shell:
echo $0; echo $SHELL
它可能会返回类似以下内容:
zsh
/bin/zsh
要从 zsh
切换到 bash
,请使用:
exec bash
完成此操作后,您可以毫无问题地使用源代码。
要切换回以前的 shell(假设是 zsh
),只需使用:
exec zsh
文件/opt/ros/kinetic/setup.bash
除了从同一目录加载/opt/ros/kinetic/setup.sh
外,什么都不做。我可能是您没有运行bash
(检查您运行的终端),或者 WSL 的行为与预期有所不同。但是,您可以像这样更改附加命令:
echo "source /opt/ros/kinetic/setup.sh" >> ~/.bashrc
或者,在您的情况下,由于该条目已存在于您的~/.bashrc
中,因此将行source /opt/ros/kinetic/setup.bash
编辑为source /opt/ros/kinetic/setup.sh
软件包或文件实际上不是从"http://wiki.ros.org/melodic/Installation/Ubuntu"下载的。要克服此错误,请先打开终端
-
检查您的目录
pwd
。如果你的目录像/home/'你的电脑名称',它实际上不会起作用。 -
更改目录 : 键入
cd /
-
从"http://wiki.ros.org/melodic/Installation/Ubuntu"中提到的从头开始继续安装过程
如果您愿意,旋律可以更改为动态或其他版本