2010-07-21 76 views
6

我想在Ubuntu上安装rspec-rails,但我遇到一些问题。“捆绑安装”失败,同时安装rspec

这里是我的具体步骤:

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:in `mkdir': Permission denied - /home/steve/.gem/specs (Errno::EACCES)

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

Could not find gem 'rspec (= 2.0.0.beta.17, runtime)' in the gems available on this machine.

我无法在Google上找到解决方案。这是我试图遵循的教程的link。我的开发环境是Ubuntu的10.04,红宝石1.8.7,Rails的3.0.0 beta 4版本

感谢。

+1

怎么样'须藤束install',但不是一个好主意。 – randika 2010-07-21 07:53:49

+0

如果输入'ls -l/home/steve/.gem /',你会得到什么输出? – 2010-07-21 09:21:31

回答

8

你可能在你.gem文件夹的权限配置不当。 可以使用

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

重置权限,也可以很容易地删除的文件夹,并让打捆/ RubyGems的重建。

+0

谢谢!修复了同样的问题..我的.gem目录由root拥有。 – 2010-12-04 15:34:35

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的新手!)

+0

我同意,我很确定他们需要在一起。 – 2010-10-12 20:30:45

+0

这个解决了我的问题。谢谢! – Andree 2011-11-30 14:53:58

1

如果你的〜/ .gem文件夹的更改所有权不起作用尝试检查所有权该文件夹的您目前在要检查您的文件夹权限类型:

$ ls -la

如果你看到什么,说:“根根”需要将其更改为当前用户帐户。

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

1

只是删除.bundle目录在你的应用程序路径