我正在尝试在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。
感谢。
答案 0 :(得分:8)
您的.gem文件夹中可能存在权限配置错误。 您可以使用
重置权限$ sudo chown -R steve:steve ~/.gem
或者您可以轻松删除该文件夹,并让bundler / rubygems重新创建它。
答案 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
目录