2010-08-25 2 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 

Я пытался removeing ​​все в ~/.bundle ~/.gem .bundle Gemfile.lock, а также любые ссылки на culerity или capybara in/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 

Кроме того, я РВМ на моей системе, но я использую систему рубин для этого проекта.

Любые идеи о том, что вызывает проблему разрешения? Конечно, я не застрял, используя sudo bundle install.

Спасибо.

ответ

-3

возможно попробовать использовать CHMOD на все, но похоже, вам нужно запустить его как Судо ... не знаю, почему это не вариант ...

+2

Это очень плохое предложение. Переход и chmodding всех ваших системных каталогов - плохая идея, есть причины, по которым вам нужно использовать sudo для доступа к ним. – AboutRuby

0

дотрагивайтесь файл в конкретном пути. Я думаю, OS X защищает эти каталоги немного больше, чем обычный путь? Я думаю, OS X поддерживает ACL с их файловой системой, может быть, вам нужно посмотреть там?

3

Похоже, вы используете рубин системы. У вас есть несколько вариантов:

  • использовать sudo для установки вашей системы пучков в ширину. это может быть проблемой с конфликтующими драгоценными камнями из разных приложений.
  • использование расслоения установить --path bundle_dir, который собирается установить драгоценные камни в bundle_dir
  • использование РВМ (http://rvm.beginrescueend.com), эта программа позволит вам использовать различные версии Ruby, и разный драгоценные камни.
Смежные вопросы