repobee command in my shell¶
The most common cause of this issue is that the
repobee executable is not
on the path, but there could be other explaniations as well. First, try
starting a new shell. You may even need to log out and log back in, depending
on where you appendend to the PATH varible.
If starting a new shell or restarting logging out and back in does not resolve
the issue, check if you have the
~/.repobee/bin directory on your PATH
$ echo $PATH | grep -o "$HOME/.repobee/bin"
If you get no output, then the directory is not on your PATH. Before adding the bin directory to your path, you can check that the executable is actually present on your system.
$ ls -l ~/.repobee/bin lrwxrwxrwx 1 slarse slarse 37 Sep 2 14:37 repobee -> /home/slarse/.repobee/env/bin/repobee
If your output looks something like this, then you’ve got RepoBee installed. If it does not look like this (e.g. the symlink is dangling or the directory dous not exist), then you should try executing the installer again. Once you see the directory and a valid symlink, try directly executing the executable with a qualified path.
$ ~/.repobee/bin/repobee -h # help output should pop up here
If that works, all you need to do is to add the bin directory to your PATH. Where you should do that depends on what shell you use. For example, for bash you should typically put environment variables in ~/.profile, for zsh they typically go in ~/.zshenv, and for fish they go in ~/.config/fish/config/fish.
# for bash, add this to your ~/.profile export PATH="$PATH:$HOME/.repobee/bin" # for zsh, add this to your ~/.zshenv export PATH="$PATH:$HOME/.repobee/bin" # for fish, add this to your ~/.config/fish/config.fish set -x PATH "$PATH:$HOME/.repobee/bin"
With bash, the
.profile file can be overridden by the
Common error messages¶
Some error messages in RepoBee are quite common and can be a bit hard to troubleshoot for beginners. This section contains the most common error messages and solutions to them.
[ERROR] FileError: ‘<some filepath>’ is not a file¶
This happens when a filepath is given to RepoBee, but there’s no file to be found. If you get this but you are certain that the file in question actually exists, it’s often due to incorrectly escaped whitespace.
On the command line, whitespace must be escaped with
\, or enclosed within quotation marks
--students-file /path/with\ whitespace/students.txt
--students-file "/path/with whitespace/students.txt"
In the config file, whitespace should not be escaped at all
students_file = /path/with whitespace/students.txt
Very often, RepoBee crashing is due to a faulty plugin, or bad configuration of
a plugin. When this is the case, use the
--no-plugins option for the
preparser to disable plugins.
--no-plugins is a preparser option, meaning that it should be passed
directly after typing
repobee. For example, to run
uninstall without plugins, run like so:
$ repobee --no-plugins plugin uninstall
All of the troubleshooting steps in this section will use
An option in the config file is causing problems¶
If you have misconfigured a plugin, or have an outdated option, you may sometimes need to manually remove the option from the config file. Run the following to find out where the config file is located.
$ repobee --no-plugins config show
The location of the config file is printed at the very top of the message. Edit it with any text editor and remove the option that causes issues.
A plugin has broken down¶
If a plugin isn’t working (even after removing faulty options), try to upgrade both the plugin and RepoBee itself.
$ repobee --no-plugins manage upgrade $ repobee --no-plugins plugin install
Nothing works, it’s still broken¶
If none of that works, the simplest thing is to reinstall RepoBee. This does
not affect your settings in the config file, it only affects installed
plugins, and so is low-risk to do. To do it, just remove the directory at
~/.repobee and install RepoBee again, as described in Install.