Команда не найдена / Установить недостающие двоичные файлы gem с помощью 'bundle install' с помощью автотеста

Я совершенно новичок в RoR. Я слежу за книгой Майкла Хартла. Я не могу запустить автотест. Пожалуйста, предложите, что идет не так, и решение, как это исправить.

Когда я запускаю autotest в командной строке внутри каталога проекта Rails, я получаю следующее:

-bash: autotest: command not found

Когда я запускаю bundle exec autotest, я получаю следующее:

 bundler: command not found: autotest
 Install missing gem binaries with `bundle install'

Вот Gemfile

source 'http://rubygems.org'

gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'

group :development do
gem 'autotest'
gem 'rspec-rails', '2.4.1' 
end

group :test do
gem 'rspec', '2.4.0'
gem 'webrat', '0.7.1'
end

Вот результат из "списка драгоценных камней"

abstract (1.0.0)
actionmailer (3.0.7, 3.0.6, 3.0.3, 2.3.5, 1.3.6)
actionpack (3.0.7, 3.0.6, 3.0.3, 2.3.5, 1.13.6)
actionwebservice (1.2.6)
activeresource (3.0.7, 3.0.6, 3.0.3, 2.3.5)
activesupport (3.0.7, 3.0.6, 3.0.3, 2.3.5, 1.4.4)
acts_as_ferret (0.4.3)
arel (2.0.9)
autotest (4.4.6)
autotest-fsevent (0.2.5)
autotest-growl (0.2.9)
autotest-notification (2.3.1)
autotest-rails-pure (4.1.2)
builder (2.1.2)
bundler (1.0.12)
capistrano (2.5.2)
cgi_multipart_eof_fix (2.5.0)
configuration (1.2.0)
daemons (1.0.10)
diff-lcs (1.1.2)
dnssd (0.6.0)
erubis (2.6.6) 
fastthread (1.0.1)
fcgi (0.8.7)
ferret (0.11.6)
gem_plugin (0.2.3)
heroku (2.0.4)
highline (1.5.0)
hpricot (0.6.164)
i18n (0.5.0)
launchy (0.4.0)
libxml-ruby (1.1.2)
mail (2.2.19, 2.2.15) 
mime-types (1.16)
mongrel (1.1.5)
mysql2 (0.2.7)
needle (1.3.0)
net-scp (1.0.1)
net-sftp (2.0.1, 1.1.1)
net-ssh (2.0.4, 1.1.4)
net-ssh-gateway (1.0.0)
nokogiri (1.4.4)
notifier (0.1.3)
polyglot (0.3.1)
rack (1.2.2, 1.0.1)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.7, 3.0.6, 3.0.3, 2.3.5, 1.2.6)
railties (3.0.7, 3.0.6, 3.0.3)
rake (0.8.7, 0.8.3)
RedCloth (4.1.1)
redgreen (1.2.2)
rest-client (1.6.1)
rspec (2.5.0, 2.4.0)
rspec-core (2.5.1, 2.4.0) 
rspec-expectations (2.5.0, 2.4.0)
rspec-mocks (2.5.0, 2.4.0)
rspec-rails (2.5.0, 2.4.1)
ruby-openid (2.1.2)
ruby-yadis (0.3.4)
rubygems-update (1.7.2)
rubynode (0.1.5)
spork (0.8.4)
sqlite3-ruby (1.3.2, 1.2.5, 1.2.4)
sys-uname (0.8.5)
term-ansicolor (1.0.5)
termios (0.9.4)
test_notifier (0.3.6)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.27, 0.3.26)
webrat (0.7.1)
xmpp4r (0.4)
ZenTest (4.5.0)

person aspire    schedule 15.05.2011    source источник
comment
Итак, вы пробовали запустить bundle install?   -  person Sergey Kishenin    schedule 15.05.2011
comment
да .. 'bundle install' работает нормально, но автотест не работает.   -  person aspire    schedule 16.05.2011
comment
Возможно, это не ваша проблема, но я видел много случаев, когда двоичные файлы устанавливались неправильно при использовании Bundler в Windows. Мне пришлось вручную удалить драгоценный камень и установить вручную. Среда: Windows 7, jruby 1.6.2, Bundler, Rails3 +   -  person    schedule 23.02.2012


Ответы (6)


bundle install --binstubs установит все исполняемые файлы из вашего пакета в локальный каталог bin вашего проекта (см. http://gembundler.com/), тогда вы можете запустить ./bin/autotest.

person Keith Gaddis    schedule 15.05.2011
comment
Вы можете попробовать RVM - удалите ZenTest / autotest из глобального гемсета и вместо этого установите его в гемсет на основе rvm, посмотрите, поможет ли это. - person Keith Gaddis; 16.05.2011
comment
я потерялся здесь. Можете ли вы дать мне указание, как установить gemset на основе rvm? Спасибо - person aspire; 17.05.2011
comment
ну, сначала вам нужно установить RVM: rvm.beginrescueend.com Затем нужно создать переключение на другой набор драгоценных камней для рубина, который вы хотите использовать, например 1.9.2: 'rvm use 1.9.2 && rvm gemset create mygemset && rvm use 1.9.2@mygemset' - person Keith Gaddis; 18.05.2011
comment
вместо копирования исполняемых файлов в локальный каталог мы можем добавить папку bin с драгоценными камнями по пути, как предлагается здесь - stackoverflow.com/questions/3766491/ - person Kalarani; 23.06.2011

Просто перезапустите вкладку терминала и попробуйте еще раз. Это должно исправить это.

person achiinto    schedule 24.01.2012

У меня была похожая ошибка

bundler: command not found: thin
Install missing gem executables with `bundle install`

Выполнение следующей команды добавило необходимые драгоценные камни:

bundle install --deployment

person chips    schedule 16.02.2017
comment
Просто обновите этот ответ - в настоящее время использование флага --deployment приводит к следующей ошибке: Флаг --deployment устарел, потому что он полагается на то, что он запоминается при вызовах сборщика, который сборщик больше не будет делать в будущих версиях. Вместо этого используйте bundle config set deployment 'true' и прекратите использовать этот флаг. Итак, новая команда bundle config set deployment 'true' - person Rick Gladwin; 09.03.2020

Убедитесь, что вы поместили команду автотеста в тестовый блок. Кажется, он у вас только в блоке разработки. Затем выполните установку пакета

person thestralFeather7    schedule 25.01.2013

Для пользователей rvm:

$ rvm gemset create myapp
$ bundle install

работал у меня.

person joshwa    schedule 18.06.2014

У меня была такая же проблема, но я выполнил эти шаги и загрузил mysql. по этой ссылке показано, как это сделать. mysql Теперь у меня возникла проблема с сбросом пароля, но как только вы откроете второй файл загрузки вам нужно будет ввести временный пароль, тогда он попросит вас изменить пароль.

person Siyad Jawad    schedule 18.10.2017