Я неправильно понял, как работает rbenv? [Дубликат]

Мое решение этой ошибки состояло в том, чтобы добавить имя пакета перед именем в манифесте.

У меня были следующие действия:

  • id.scanner.main .A1
  • id.scanner.main.gallery.A2

Мой манифест содержал следующее:

<activity android:name=".A1" ....></activity>
<activity android:name=".A2" ....></activity>

Это решило проблему:

<activity android:name=".A1" ....></activity>
<activity android:name="gallery.A2" ....></activity>
193
задан Eric Leschinski 17 February 2016 в 04:41
поделиться

19 ответов

Проверьте, что PATH содержит $ HOME / .rbenv / shims и $ HOME / .rbenv / bin

$ env | grep PATH

Также проверьте, что в вашем файле ~ / .bash_profile есть следующее: bash или ~ /.zshenv при использовании zsh

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

ПРИМЕЧАНИЕ. Убедитесь, что это последняя настройка в ~ / .bash_profile. Я столкнулся с проблемой, когда я установил программу, которая обновила мой .bash_profile и сбросил PATH.

370
ответ дан konung 15 August 2018 в 18:55
поделиться
  • 1
    В OSX не забудьте выйти из сеанса OSX, а затем снова войти в систему, чтобы изменения в вашем профиле bash вступили в силу. – Jeremy Ricketts 21 March 2013 в 04:22
  • 2
    Или используйте команду source – rodowi 21 March 2013 в 20:02
  • 3
    Или exec $SHELL -l (нижний L) – pduersteler 6 June 2013 в 06:54
  • 4
    Где мне нужно добавить «$ HOME / .rbenv / shims»? и "$ HOME / .rbenv / bin"? – Benedikt 18 July 2013 в 16:35
  • 5
    Я сделал вот так: export RBENV_ROOT="$HOME/.rbenv" if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi Работа довольно хорошо :) Также проверьте для PATH init после объявления rbenv. – merqlove 3 October 2013 в 18:47

Я забыл удалить rvm перед установкой rbenv. Я удалил rvm и снова установил rbenv, но система все еще не использовала версию Ruby, которая была объявлена ​​глобальной как rbenv. Я попытался закрыть терминал, но он работал только после перезапуска всей машины.

-1
ответ дан ajain 15 August 2018 в 18:55
поделиться

Это может быть старый вопрос, но Google привел меня сюда и, ради потомства, подумал, что я поделюсь.

Моя проблема сохранялась после многих рекомендованных решений выше. Как и OP, я установил rbenv, а затем рубиновую версию, но мой ноутбук по умолчанию отказался от системы. То, что я упустил, было то, что когда я бегал:

[~/.rbenv] $ rbenv versions
* system (set by /Users/alphadogg/.rbenv/version)
  2.0.0-p247

IOW, он по-прежнему не выполнял работу с системой. Быстрый

[~/.rbenv] $ rbenv local 2.0.0-p247

переключил его на новую версию.

78
ответ дан alphadogg 15 August 2018 в 18:55
поделиться
  • 1
    Да - смешно, как руководства по установке rbenv не упоминают запуск локальной команды вообще. Многие блоги напоминают вам о запуске rbenv global, но не локальном. Отличный ответ. – Steve Midgley 26 November 2014 в 07:27
  • 2
    Та же проблема. То же решение. (Возможно, придется посмотреть, как подать PR, чтобы сообщить, когда глобальная версия Ruby отменена с помощью ~ / .ruby-version ...) – Mark Glossop 12 June 2015 в 06:40
  • 3
    Я должен был избавиться от системы, удалив с помощью YUM в Centos 7, только после этого я мог видеть правильную версию, выбранную в rbenv – Joe Walker 16 June 2016 в 22:26

run:

rbenv init

После того, как я запустил это, когда я установил свою локальную версию rbenv:

rbenv local 2.4.0

, мои версии ruby -v и my rbenv local совпали .

Примечание. Возможно, вам захочется выйти из каталога, в котором вы находитесь, а затем вернуться в него, я заметил, что это было необходимо для меня, чтобы заставить работать.

1
ответ дан AmitF 15 August 2018 в 18:55
поделиться

для пользователя оболочки рыбы

set --universal fish_user_paths $fish_user_paths ~/.rbenv/shims/
1
ответ дан Basil Mariano 15 August 2018 в 18:55
поделиться

Когда у меня были эти симптомы, проблема оказалась в том, что установка не прошла на полпути для новой версии Ruby, к которой я пытался переключиться, без меня замечать. Исправлено удаление & amp; переустановите его.

(Это означало, что хотя Ruby 1.9.3 появился в списке доступных версий rbenv, у него не было исполняемого файла на пути, на котором, как предполагал Rbenv, он будет. Так как rbenv пытается измените свою рубиновую версию, просто добавив местоположение к вашему пути, если в месте, где он находится, ничего не происходит, ваша ОС с удовольствием продолжит поиск вашего пути по умолчанию и найдет вашу версию системы, в моем случае, как вопрос 1.8.7.)

3
ответ дан David 15 August 2018 в 18:55
поделиться

У меня была та же проблема, но вызвана Homebrew:

[~]$ rbenv version
2.3.0 (set by /Users/user/.rbenv/version)
[~]$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
[~]$ which ruby
/usr/local/bin/ruby

Как-то я также установил Ruby через Homebrew, и путь Homebrew был впереди пути rbenv в моем $PATH. Запуск brew uninstall ruby исправил его для меня.

4
ответ дан djb 15 August 2018 в 18:55
поделиться

rbenv help shell

"Устанавливает версию Ruby, специфичную для оболочки, устанавливая переменную среды RBENV_VERSION в вашей оболочке. Эта версия переопределяет версии, специфичные для локального приложения, и глобальную версию. версия Ruby, известная как rbenv. Специальная строка версии «system» будет использовать вашу стандартную систему Ruby. Запустите rbenv versions »для списка доступных версий Ruby.»

Если rbenv был установлен правильно, ruby ​​-v будет соответствовать

rbenv shell 1.9.3-p125

4
ответ дан htmldrum 15 August 2018 в 18:55
поделиться
  • 1
    «rbenv shell x.y.z» - это то, что сработало для меня. «Rbenv local x.y.z», описанный выше в вышеприведенном ответе, не работал на OS X. – Jeremy Rea 15 May 2016 в 15:59

Убедитесь, что последняя строка вашего .bash_profile:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
2
ответ дан janos 15 August 2018 в 18:55
поделиться

Это случилось со мной сразу после того, как я переустановил rbenv. По-видимому, у меня был файл .ruby-version в моем домашнем каталоге, указав версию, которая больше не существует. Как только я удалил файл, все сработало.

2
ответ дан John K. Chow 15 August 2018 в 18:55
поделиться

Я только что нашел эту проблему. То, что я сделал, это удалить rbenv (через homebrew) и переустановить его. Я также добавил

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

в ~ / .bash_profile, когда я переустановил rbenv. Теперь работает отлично.

20
ответ дан Neal 15 August 2018 в 18:55
поделиться
  • 1
    Примечание для других, которые пришли к той же проблеме, что и я: по некоторым причинам, которые rbenv работал до этого, эта строка никогда не выполнялась. Я исправил его с помощью прямого eval "$ (rbenv init -)". – dadoonet 25 January 2013 в 19:37

В моем случае изменение ~/.zshenv не сработало. Мне пришлось внести изменения внутри ~/.zshrc.

Я только что добавил:

# Include rbenv for ZSH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

в верхней части ~/.zshrc, перезапустил оболочку и вышел из системы.

Проверьте, работает ли это:

➜  ~ rbenv install 2.4.0
➜  ~ rbenv global 2.4.0
➜  ~ rbenv global
2.4.0
➜  ~ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
8
ответ дан Peter Piper 15 August 2018 в 18:55
поделиться

Странно, версия rbenv не установила файл .rbenv. Проверьте с помощью: ls -ltra ->, чтобы увидеть, что rbenv был записан

0
ответ дан poseid 15 August 2018 в 18:55
поделиться

Вы можете попробовать использовать chruby ? chruby не полагается на прокладки, вместо этого он только изменяет PATH, GEM_HOME, GEM_PATH.

0
ответ дан postmodern 15 August 2018 в 18:55
поделиться

Как и для меня, самый простой способ использовать rbenv вместе с zsh - добавить rbenv в раздел плагинов в конфигурации .zshrc. В моем случае это похоже на:

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git bower rails ruby rbenv gulp npm node nvm sublime)

После этого нет проблем при установке, переключении, использовании рубиновых версий с помощью rbenv.

Ум, чтобы перезапустить ваш сеанс терминала после внесения изменений.

2
ответ дан Rootical V. 15 August 2018 в 18:55
поделиться

Запустите эту команду

Добавьте rbenv в bash, чтобы он загружался каждый раз, когда вы открываете терминал

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

, это решит вашу проблему Ссылка

2
ответ дан Singhak 15 August 2018 в 18:55
поделиться

Первый шаг - выяснить, какой рубин вызывается: which ruby

Ваша система говорит: /usr/bin/ruby

Это НЕ прокладка, используемая rbenv, которая ( на MacOS) должно выглядеть так: /Users/<username>/.rbenv/shims/ruby

Прокладка - это фактически сценарий, который действует как перенаправление на версию рубина, которую вы установили. rbenv global 1.9.3 rbenv local --unset rbenv shell --unset Я рекомендую, чтобы при устранении неполадок вы удаляли конкретную «локальную» версию проекта, а также версию оболочки с оболочкой и просто проверяли с помощью параметра «глобальной» версии, который определяется в текстовом файле в ~ / .rbenv / verion, который будет просто номером версии «1.9.3» в вашем случае. Вы можете сделать «ls -laG» в корне вашей папки проекта (а не в домашней папке), чтобы убедиться, что там больше нет файла «.ruby-version».

Вы можете использовать «rbenv версии ", чтобы определить, какая версия rbenv установлена ​​для использования (и расположение и имя файла, который устанавливает это).

rbenv versions

НИ ОДНА ИЗ ЭТОГО ВОПРОСОВ: пока вы не правильно установите путь.

Используйте это, чтобы убедиться, что ваш MacOS будет подчиняться вам: eval "$(rbenv init -)"

Далее следуют: which ruby

Чтобы убедиться это выглядит так: /Users//.rbenv/shims/ruby

Затем добавьте строку в свой профиль, чтобы она запускалась каждый раз при открытии нового окна терминала: ~/.bash_profile eval "$(rbenv init -)"

Есть и другие способы изменения пути, не стесняйтесь заменить любой из них, а не запускать rbenv init.

ПРИМЕЧАНИЕ: переустановите Rails с помощью: gem install rails

Если вы пытались для запуска Ruby on Rails, вам нужно сначала запустить все это, а затем снова установить рельсы. Ранняя установка Rails будет использовать жестко закодированный путь к неправильному рубину, а некоторые другие вещи будут не в том месте, поэтому просто установите драгоценный камень еще раз.

P. S. Если ваш MacOS не будет подчиняться вам (* упомянуто выше), вам, возможно, придется найти другой способ изменить свой путь, но вряд ли это будет проблемой, потому что «Mac просто работают»;)

17
ответ дан Sky Notify 15 August 2018 в 18:55
поделиться
  • 1
    Потрясающие! Это сработало для меня: D – Garrett Sanderson 3 October 2016 в 06:50
  • 2
    Ах, товарищ, наконец! Пробовал около 25 различных решений, прежде чем нашел это, спасибо – Danny Santos 8 June 2018 в 16:09

Я пришел к той же проблеме. Исправлено это, запустив команду «rbenv global» с помощью «sudo». Я думаю, что это была проблема разрешения.

update: Я наконец нашел решение. Была одна версия файла на моем mac, которая находится под «/usr/local/Cellar/rbenv/0.3.0/». Я думаю, что это было создано по ошибке время от времени. вы должны удалить его.

3
ответ дан Vincent 15 August 2018 в 18:55
поделиться

Я исправил это, добавив следующее к моему ~ / .bash_profile:

#PATH for rbenv
export PATH="$HOME/.rbenv/shims:$PATH"

Это то, что задокументировано в https://github.com/sstephenson/rbenv .

Из того, что я могу сказать, нет каталога ~ / .rbenv / bin, о котором упоминалось в сообщении @rodowi.

64
ответ дан Will Ediger 15 August 2018 в 18:55
поделиться
  • 1
    Спасибо чувак ! окончательное решение, которое сработало для меня. – victorkurauchi 8 July 2015 в 02:59
  • 2
    +1 для ссылки. +1 для ответа, который противоречит лучшему проголосовавшему ответу. В результате возникает еще один вопрос - и если кто-нибудь может перезвонить - как export PATH="$HOME/.rbenv/bin:$PATH может работать (как это было не для меня)? – Jerome 17 April 2016 в 09:28
  • 3
    Не будет ~/.rbenv/bin/, если вы установили через homebrew или linuxbrew. И вам не нужно настраивать путь прокладок самостоятельно, так как rbenv init делает это (и больше) для вас . – Dennis 10 January 2017 в 05:20
  • 4
    Это устранило мою проблему. – Martyn Chamberlin 22 January 2017 в 02:49
  • 5
Другие вопросы по тегам:

Похожие вопросы: