Проблема пути с упаковщиком, менять или не менять? - PullRequest
2 голосов
/ 28 января 2011

Я пытаюсь настроить новый проект rails 3 с bundler, но у меня возникли проблемы с bundler.Я на рельсах 3.0.3 с ruby ​​1.8.7

При попытке сделать

$ bundle exec rake db:migrate

я получаю следующую ошибку

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/dependency.rb:52:in `initialize': Valid types are [:development, :runtime], not nil (ArgumentError)

То же самое происходит, когдаЯ пытаюсь выполнить обычную задачу rake в моем терминале, такую ​​как $ rake -T, т.е. только тогда я получаю ошибку:

uninitialized constant Bundler /Users/daniel/cc/contributie_data/Rakefile:4 (See full trace by running task with --trace)

Я читал некоторые другие вопросы, касающиесяэта проблема, поэтому я узнал, что это как-то связано с путями ...

$ which rake / usr / bin / rake

$ which ruby / usr / local / bin / ruby

Может кто-нибудь дать мне несколько советов о том, что здесь может происходить?И что еще более важно, как я могу заставить сборщик играть хорошо с рейком ..

Спасибо за любой вклад в это, очень признателен!

Ответы [ 4 ]

3 голосов
/ 01 августа 2012

Попробуйте удалить Gemfile.lock.Обычно это помогает при

Допустимые типы: [: development,: runtime], не nil

error.

3 голосов
/ 27 февраля 2011

Я получил ту же ошибку (я использую rvm). Оказалось, что и в моем .profile, и в .bashrc было следующее утверждение:

export PATH=~/.gem/ruby/1.8/bin:$PATH

Таким образом, этот путь был выбран вместо пути rvm. Я закомментировал эти строки и теперь все отлично работает

2 голосов
/ 11 марта 2011

О, чувак, я только когда через это сегодня.

Я сделал обновление, и мой rvm сломался - начал подбрасывать недостающие скрипты и тому подобное.Я только что закончил полностью переустанавливать rvm и мои рубины.

это не здорово, и это занимает некоторое время, но это то, что я сделал, чтобы вернуться в рабочее состояние.

Началось здесь. Как я могу удалить RVM (Ruby Version Manager) из моей системы? Закончилось, пройдя и установив заново.

1 голос
/ 06 мая 2014

Я тоже столкнулся с той же проблемой и решил ее с помощью этой ссылки github: bundler

Изменена строка в файле lib/bundler/resolver.rb, которая находится внутри bundler gem.Удалить * метку со строки d = Gem::Dependency.new(base.first.name, *reqs)

примерно так:

reqs = [dep.requirement.as_list, base.first.version.to_s].flatten.compact
d = Gem::Dependency.new(base.first.name, *reqs)

до

reqs = [dep.requirement.as_list, base.first.version.to_s].flatten.compact
d = Gem::Dependency.new(base.first.name, reqs)

* изменение содержимого драгоценного камня напрямую не является хорошимпрактика.Разместите это, чтобы показать другой способ решения этой проблемы.

...