2010-08-25 73 views
4

所以,我很積極,我曾經做過一次sudo bundle install出於絕望,我現在明白這是一個不行。但是現在,當我嘗試運行bundle install,我得到以下錯誤:Ruby Bundler權限問題

Installing culerity (0.2.12) /Library/Ruby/Site/1.8/rubygems/installer.rb:294:in `generate_bin': You don't have write permissions into the /Library/Ruby/Gems/1.8/bin directory. (Gem::FilePermissionError) 
    from /Library/Ruby/Site/1.8/rubygems/installer.rb:196:in `install' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/source.rb:100:in `install' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/installer.rb:55:in `run' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in `each' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in `each' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/installer.rb:44:in `run' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/installer.rb:8:in `install' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/cli.rb:217:in `install' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/vendor/thor/task.rb:22:in `send' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/vendor/thor/task.rb:22:in `run' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/vendor/thor.rb:246:in `dispatch' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/lib/bundler/vendor/thor/base.rb:389:in `start' 
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.0.rc.6/bin/bundle:13 
    from /usr/bin/bundle:19:in `load' 
    from /usr/bin/bundle:19 

我試過在〜/ .bundle〜/ .gem .bundle Gemfile.lock的removeing一切以及任何參考culerity或者/ Library/Ruby中的水豚(OSX 10.6)。我也檢查過,以確保在這個項目中的所有文件都能正確設置權限(不是root)。我也清除了寶石緩存。

我的Gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.0.0.rc2' 

# Bundle edge Rails instead: 
#gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'pg' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
gem 'ruby-debug' 

# Bundle the extra gems: 
# gem 'bj' 
# gem 'nokogiri', '1.4.1' 
# gem 'sqlite3-ruby', :require => 'sqlite3' 
# gem 'aws-s3', :require => 'aws/s3' 

# Bundle gems for certain environments: 
# gem 'rspec', :group => :test 
# group :test do 
# gem 'webrat' 
# end 

gem 'haml', '3.0.15' 
gem 'mogli', '0.0.13' #, :path => "~/Sites/mogli" 
gem 'facebooker2', '0.0.4' 
gem 'geokit' 
gem 'acts_as_restful_list' 
gem 'hoptoad_notifier' 

group :development, :test do 
    gem "rspec-rails", '2.0.0.beta.19' 
    gem 'factory_girl_rails' 
    gem 'capybara', '0.3.9' 
    gem 'database_cleaner' 
    gem 'cucumber-rails', '0.3.2' 
    gem 'cucumber', '0.8.5' 
    gem 'spork' 
    gem 'launchy' # So you can do Then show me the page 
end 

另外,我還RVM我的系統上,但我使用該項目的系統紅寶石。

關於什麼導致權限問題的任何想法?當然,我並沒有使用sudo bundle install卡住。

謝謝。

回答

-3

也許嘗試使用的一切文件模式,但看起來像你需要運行它sudo的......不知道爲什麼,這不是一個選項...

+2

這是一個非常糟糕的建議。去和chmodding你所有的系統目錄是一個壞主意,你需要使用sudo來訪問它們是有原因的。 – AboutRuby 2010-08-25 21:01:32

0

嘗試觸摸一個文件中的特定路徑。我猜OS X保護這些目錄不僅僅是正常的方式?我認爲OS X支持其文件系統的ACL,也許你必須在那裏看看?

3

它看起來像你使用系統的紅寶石。你有幾個選擇:

  • 使用sudo來安裝你的捆綁系統。這可能是來自不同應用程序的衝突問題。
  • 使用捆綁安裝--path bundle_dir,這是要安裝在寶石bundle_dir
  • 使用RVM(http://rvm.beginrescueend.com),這一計劃將允許你使用不同的Ruby版本,而不同寶石套。