安装rspec时“bundle install”失败

时间:2010-07-21 07:29:46

标签: ruby-on-rails rspec bundler

我正在尝试在Ubuntu上安装rspec-rails,但我遇到了一些问题。

以下是我的确切步骤:

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)输入“bundle install”,我收到以下错误:

  

/usr/lib/ruby/1.8/fileutils.rb:243:in`mkdir':权限被拒绝 - /home/steve/.gem/specs(Errno :: EACCES)

3)如果我继续我的安装说明并输入“rails generate rspec:install” 我收到以下错误(但可能是由#2失败引起的)

  

在此机器上可用的宝石中找不到gem'rspec(= 2.0.0.beta.17,runtime)'。

我无法在Google上找到解决方案。这是我想要遵循的教程的link。我的开发环境是Ubuntu 10.04,Ruby 1.8.7,Rails 3.0.0 beta 4。

感谢。

4 个答案:

答案 0 :(得分:8)

您的.gem文件夹中可能存在权限配置错误。 您可以使用

重置权限
$ sudo chown -R steve:steve ~/.gem

或者您可以轻松删除该文件夹,并让bundler / ruby​​gems重新创建它。

答案 1 :(得分:2)

您是否也应该在开发配置中包含rspec?

我不能在这里测试 - 但我估计你是否包括:

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

...在你的小组中:开发做...结束,这可能会解决问题。这对我来说似乎是合乎逻辑的,因为我认为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新手!)

答案 2 :(得分:1)

如果更改〜/ .gem文件夹的所有权并不起作用,请尝试检查您当前所在文件夹的所有权。要检查文件夹权限类型:

$ ls -la

如果你看到任何说" root root"它需要更改为您当前的用户帐户。

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

答案 3 :(得分:1)

只需删除应用程序路径中的.bundle目录