rbenv: нет такой команды `init ' - PullRequest
3 голосов
/ 23 ноября 2011

Я установил rbenv в соответствии с инструкциями на https://github.com/sstephenson/rbenv#section_2

Перезапуск моей оболочки в точке 4 приведет к ошибке

$ rbenv init -
rbenv: no such command `init'

Попытка запустить команду непосредственно из ее папки также не работает.

$ cd .rbenv/bin
$ ./rbenv init -
rbenv: no such command `init'

Мой $ PATH

$ echo $PATH
/home/myusername/.rbenv/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/myusername/bin

Запуск rbenv install работает до тех пор, пока rbenv rehash не будет вызван

$ rbenv install 1.9.3-p0
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /home/hbrandl/.rbenv/versions/1.9.3-p0
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz...
Installing ruby-1.9.3-p0...
Installed ruby-1.9.3-p0 to /home/hbrandl/.rbenv/versions/1.9.3-p0
rbenv: no such command `rehash'

Кажется, что все другие команды rbenv не работают.

Любая помощь или указатели с благодарностью.

Ответы [ 2 ]

6 голосов
/ 12 мая 2012

Проверьте правильность символической ссылки:

> ls -l ~/.rbenv/bin/rbenv
lrwxr-xr-x  1 kelvin  staff  16 Mar 29 11:19 /Users/kelvin/.rbenv/bin/rbenv@ -> ../libexec/rbenv

Является ли ваш rbenv символической ссылкой на ../libexec/rbenv? Так и должно быть, потому что он читает это местоположение символической ссылки, чтобы знать, что "libexec" - это местоположение других исполняемых файлов.

Исправить:

> cd ~/.rbenv/bin
> mv rbenv rbenv.broken
> ln -s ../libexec/rbenv rbenv

Возможно, он сломался, если вы скопировали ~ / .rbenv из другого места, что, вероятно, испортило бы ссылки.

3 голосов
/ 23 ноября 2011

Обходным решением для моей проблемы было просто добавить папку libexec к моему пути.

Мои добавления в PATH rbenv теперь выглядят следующим образом:

export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/libexec:$PATH"

Это решает проблемудля меня.

...