Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"fatal: Unable to find remote helper for 'keybase'" when installing keybase from source #8815

Closed
schollz opened this issue Oct 4, 2017 · 5 comments

Comments

@schollz
Copy link

schollz commented Oct 4, 2017

After seeing the release today, I've been trying out the private git with keybase. It works great on Linux (installed with the deb) and Windows (installed with exe). I'm having trouble with using it on a armhf Chromebook.

On my chromebook I installed keybase with Go (go version go1.8.3 linux/arm) following these instructions and logged in just fine. However I get an error when I try to clone my private repo with git (git version 2.7.4):

$ git clone keybase://private/schollz/XX
Cloning into 'XX'...
fatal: Unable to find remote helper for 'keybase'

This command worked perfectly on Windows and Linux64 when using the production installers.

Any help is greatly appreciated!

@schollz schollz changed the title fatal: Unable to find remote helper for 'keybase' when installing keybase from source "fatal: Unable to find remote helper for 'keybase'" when installing keybase from source Oct 4, 2017
@strib
Copy link
Contributor

strib commented Oct 4, 2017

@schollz: git-remote-keybase is built from the KBFS repo here. You need to go install in there, and then make sure $GOPATH/bin is in your PATH (or move git-remote-keybase somewhere that's already in your path).

@strib
Copy link
Contributor

strib commented Oct 4, 2017

You'll also need to be running the kbfsfuse binary, as described here. Although it's not required that you actually mount KBFS to /keybase for git functionality, you can use -mount-type none to skip that part.

@schollz
Copy link
Author

schollz commented Oct 5, 2017

Great! Thanks. Works perfectly now. For future reference, here's what I did on my Chromebook after installing Go:

Pre-reqs

sudo apt-get install fuse

Install keybase

go get -u -v github.com/keybase/client/go/keybase
go install -v -tags production github.com/keybase/client/go/keybase
keybase login

Install kbfsfuse

cd $GOPATH/src/github.com/keybase/client/go/kbfs/kbfsfuse
go install
sudo mkdir -p /keybase
sudo chown $USER /keybase
KEYBASE_RUN_MODE=prod kbfsfuse /keybase & 

Install git-remote-keybase

cd $GOPATH/src/github.com/keybase/client/go/kbfs/kbfsgit/git-remote-keybase
go install

Edited March 2019 to update path to git-remote-keybase.

@waynew
Copy link

waynew commented May 30, 2019

Those instructions worked perfectly for me on a Raspberry Pi - though I didn't need to make the /keybase dir or use the kbfsfuse step. Also I was able to just do this:

go install github.com/keybase/client/go/kbfs/kbfsfuse
go install github.com/keybase/client/go/kbfs/kbfsgit/git-remote-keybase

@casutherland
Copy link

casutherland commented Mar 19, 2020

Thanks for sharing this @schollz, etc. Following are the complete steps I took to build headless keybase on a pi 3 b+ (an ARM architecture).

Pre-reqs

install go-lang >1.9, installed 1.14 binary
https://golang.org/dl/
cd $HOME
FileName='go1.14.linux-armv6l.tar.gz'
wget https://dl.google.com/go/$FileName
sudo tar -C /usr/local -xvf $FileName && rm -f $HOME/$FileName
cat >> ~/.bashrc << 'EOF'
export GOPATH=$HOME/go
export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
EOF
source ~/.bashrc

increase raspbian default swap from 100 (I chose 512, probably overkill)
https://raspberrypi.stackexchange.com/questions/73690/how-can-i-install-keybase-and-dependencies-without-running-out-of-memory

sudo vi /etc/dphys-swapfile
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

Build and install keybase

#2938 (comment)

go get -u -v github.com/keybase/client/go/keybase

go build -tags production github.com/keybase/client/go/keybase && \
        sudo mv $GOPATH/src/github.com/keybase/keybase /usr/bin/
go build -tags production github.com/keybase/client/go/kbfs/kbfsfuse && \
        sudo mv $GOPATH/src/github.com/keybase/kbfsfuse /usr/bin/
go build -tags production github.com/keybase/client/go/kbfs/kbfsgit/git-remote-keybase && \
        sudo mv $GOPATH/src/github.com/keybase/git-remote-keybase /usr/bin/
go build -tags production github.com/keybase/client/go/kbfs/redirector && \
        sudo mv $GOPATH/src/github.com/keybase/redirector /usr/bin/keybase-redirector

sudo cp $GOPATH/src/github.com/keybase/client/packaging/linux/systemd/keybase.service /usr/lib/systemd/user/
sudo cp $GOPATH/src/github.com/keybase/client/packaging/linux/systemd/kbfs.service /usr/lib/systemd/user/
sudo cp $GOPATH/src/github.com/keybase/client/packaging/linux/systemd/keybase-redirector.service /usr/lib/systemd/user/

sudo mkdir /opt/keybase
sudo cp $GOPATH/src/github.com/keybase/client/packaging/linux/crypto_squirrel.txt /opt/keybase/
sudo cp $GOPATH/src/github.com/keybase/client/packaging/linux/post_install.sh /opt/keybase/
sudo chmod +x /opt/keybase/post_install.sh
/opt/keybase/post_install.sh
sudo cp $GOPATH/src/github.com/keybase/client/packaging/linux/run_keybase /usr/bin
run_keybase -g

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants