«установка пакета» не удалась при установке rspec - PullRequest
6 голосов
/ 21 июля 2010

Я пытаюсь установить rspec-rails в Ubuntu, но у меня возникли некоторые проблемы.

Вот мои точные шаги:

1) Изменил мой Gemfile на:

source 'http://rubygems.org'

gem 'rails', '3.0.0.beta4'
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'

group :development do
  gem 'rspec-rails', '2.0.0.beta.17'
end

group :test do
  gem 'rspec', '2.0.0.beta.17'
end

2) Наберите "установить комплект", и я получаю следующую ошибку:

/ usr / lib / ruby ​​/ 1.8 / fileutils.rb: 243: в `mkdir ': в доступе отказано - /home/steve/.gem/specs (Errno :: EACCES)

3) Если я продолжу свои инструкции по установке и наберу "rails generate rspec: install" Я получаю следующую ошибку (но она могла быть вызвана ошибкой # 2)

Не удалось найти гем 'rspec (= 2.0.0.beta.17, время выполнения)' в гемах, доступных на этом компьютере.

Мне не удалось найти решение для этого в Google. Это ссылка на учебник, которому я пытаюсь следовать. Моя среда разработки - Ubuntu 10.04, Ruby 1.8.7, Rails 3.0.0 beta 4.

Спасибо.

Ответы [ 4 ]

8 голосов
/ 21 июля 2010

Возможно, у вас неправильная конфигурация разрешений в вашей папке .gem.Вы можете сбросить разрешения, используя

$ sudo chown -R steve:steve ~/.gem

, или вы можете легко удалить папку и позволить bundler / rubygems воссоздать ее.

2 голосов
/ 21 июля 2010

Разве вы не должны включать rspec в конфигурацию разработки?

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

gem 'rspec', '2.0.0.beta.17'

... вВаша группа: разработка do ... end block, это может решить проблему.Мне показалось бы логичным, так как я думаю, что rspec-rails сама нуждается в функциональности rspec, чтобы иметь возможность генерировать необходимые файлы.Вы, вероятно, также будете в большей безопасности, если будете делать блоки вроде этого:

group :development do
  gem 'rspec', '2.0.0.beta.17'
  gem 'rspec-rails', '2.0.0.beta.17'
end

group :test do
  gem 'rspec', '2.0.0.beta.17'
  gem 'rspec-rails', '2.0.0.beta.17'
end

... так как необходимые файлы должны быть включены в обе среды.Я не знаю наверняка, я просто надеюсь, что это больше не смутило вопросы (я новичок в Rails!)

1 голос
/ 17 декабря 2014

просто удалите каталог .bundle в пути к приложению

1 голос
/ 20 марта 2012

Если смена владельца вашей папки ~ / .gem не работает, попробуйте проверить право собственности на папку, в которой вы находитесь. Для проверки прав доступа к папке введите:

$ ls -la

Если вы видите что-то с надписью «root root», его необходимо заменить на текущую учетную запись пользователя.

$ sudo chown -R steve:steve /path/to/folder

...