2013-08-17 4 views
10

Sto cercando di installare gems nel mio nuovo progetto Ruby utilizzando l'installazione di bundle. Ho impostato la versione di Ruby usando rbenv sulla mia casella OS X 10.8.4. Viene visualizzato il seguente errore:Errore nell'installazione di Atomic

An error occurred while installing atomic (1.1.13), and Bundler cannot continue. 
Make sure that `gem install atomic -v '1.1.13'` succeeds before bundling. 
Kikime:jazzcatalog curt$ gem install atomic 
Building native extensions. This could take a while... 
Successfully installed atomic-1.1.13 
1 gem installed 
Kikime:jazzcatalog curt$ rbenv rehash 
Kikime:jazzcatalog curt$ bundle install 
Fetching gem metadata from https://rubygems.org/......... 
Fetching gem metadata from https://rubygems.org/.. 
Using rake (10.1.0) 
Using i18n (0.6.5) 
Using minitest (4.7.5) 
Using multi_json (1.7.9) 
Installing atomic (1.1.13) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

/Users/curt/.rbenv/versions/2.0.0-p247/bin/ruby extconf.rb 
/Users/curt/.rbenv/versions/2.0.0-p247/bin/ruby: invalid option -R (-h will show valid  options) (RuntimeError) 


Gem files will remain installed in /Volumes/Data  RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic-1.1.13 for inspection. 
Results logged to /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic- 1.1.13/ext/gem_make.out 

An error occurred while installing atomic (1.1.13), and Bundler cannot continue. 
Make sure that `gem install atomic -v '1.1.13'` succeeds before bundling. 

Le prime due righe sono la fine dell'output dal primo tentativo. Come puoi vedere, ho quindi installato correttamente atomico come richiesto. Poi ho provato di nuovo e ho ottenuto lo stesso errore. Ho visto alcuni errori con l'installazione di atomico, ma nessuno come questo. Sembra avere un problema con l'opzione -R. Dal momento che non l'ho inserito, in primo luogo, non so dove cambiarlo.

Aggiornamento

ho iniziato tutto rbenv insieme alla versione 2.0.0-p0 ed e corse rotaie nuova -d mysql catalogo jazz. E 'morto nello stesso luogo con questo errore:

Installing atomic (1.1.13) 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

/Users/curt/.rbenv/versions/2.0.0-p0/bin/ruby extconf.rb 
creating Makefile 

make 
compiling atomic_reference.c 
atomic_reference.c:50:9: warning: implicit declaration of function 'OSAtomicCompareAndSwap64' is invalid in C99 [-Wimplicit-function-declaration] 
if (OSAtomicCompareAndSwap64(expect_value, new_value, &DATA_PTR(self))) { 
    ^
1 warning generated. 
linking shared-object atomic_reference.bundle 

make install 
/usr/bin/install -c -m 0755 atomic_reference.bundle /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic-1.1.13/lib 
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] 
      [-o owner] file1 file2 
    install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] 
      [-o owner] file1 ... fileN directory 
    install -d [-v] [-g group] [-m mode] [-o owner] directory ... 
make: *** [install-so] Error 64 


Gem files will remain installed in /Volumes/Data  RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic-1.1.13 for inspection. 
Results logged to /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic- 1.1.13/ext/gem_make.out 
An error occurred while installing atomic (1.1.13), and Bundler cannot continue. 
Make sure that `gem install atomic -v '1.1.13'` succeeds before bundling. 

RISOLTO Sigh - non gestisce gli spazi nel percorso

risposta

4

I messaggi di errore non danno il minimo indizio su ciò che il vero problema è . Bundler o un componente che chiama non gestisce correttamente i nomi delle directory con spazi in essi. Nel mio caso era .../Data RAID/... che ha causato il problema. Una volta trasferito il progetto in un'altra unità in cui non ci sarebbero stati spazi nel percorso, tutto ha funzionato correttamente. Sembra che potrebbe essere solo la posizione delle gemme a rappresentare il problema. In un precedente tentativo, ho creato un progetto in cui le gemme non si trovavano in un percorso contenente spazi, ma il progetto era. Non ha avuto problemi, per quanto ne ho avuto. Si noti inoltre che l'installazione gemica atomica ha avuto esito positivo.

+0

Sembra questo problema: http://bugs.ruby-lang.org/issues/show/3024 sebbene ciò sia corretto in 2.0.0. –

+0

Probabilmente è simile. Il mio problema è con Rails, che è un'applicazione separata. Non so strettamente collegato i due gruppi di sviluppo o se il codice è condiviso tra le app. – curt

+0

Ci dovrebbe essere una versione StackWTF per questo tipo di problemi. Migliaia di ringraziamenti a te @ curt – sonxurxo

8

Per coloro che raggiungono la pagina per googling, ho risolto un problema simile durante l'installazione atomica (1.1.13) su Mac in questo modo:

sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 

Sembra di essere a causa di aggiornamenti Xcode contrastanti.

+1

Grazie per aver incluso la tua soluzione. Non è un problema facile eseguire il debug. – curt

+1

Ho dovuto ricreare questo collegamento dopo l'aggiornamento a Mavericks. Il mio vecchio simplink era /usr/bin/llvm-gcc-4.2 e ho dovuto cambiarlo in modo che punti a/usr/bin/llvm-gcc (notare la mancanza del 4.2 postfix). –

0

Se si sta tentando di installare Atomic (o l'aggiornamento del pacchetto - e ciò non funziona su atomic), su Mac/OSX - sarà necessario installare o aggiornare gli strumenti da riga di comando per XCode per qualsiasi versione del sistema operativo che si sta utilizzando .

Come detto sopra, ma ho la sensazione che la risposta sia un po 'esoterica. Atomic ha bisogno di questi strumenti per il multithreading.

0

mi è stato sempre il messaggio di stesso errore e sembra essere stato causato da un (apparentemente innocuo ma errata) linea nel mio Gemfile. Se utilizzate correttamente (su un sistema che utilizza RVM) queste due linee dovrebbero essere in grado di utilizzare la versione corretta di Ruby e il gemset desiderato.

ruby '2.0.0' 
#ruby-gemset=railstut_rails_4_0 ; [email protected]_rails_4_0 

ho avuto l'impressione che mi è stato semplicemente aggiungendo un commento con il secondo line- tuttavia RVM (in base alla progettazione/come previsto) creato una nuova GemSET con un nome "* railstut_rails_4_0; ruby-2.0.0- p247 @ railstut_rails_4_0 * "che aveva spazi e caratteri speciali. Ogni volta che eseguivo l'installazione di bundle - anche dopo aver cambiato il nome all'interno del Gemfile - RVM caricava l'attuale gemset errato. Per risolvere, ho fatto quanto segue:

  1. $ rvm utilizzare ruby-2.0.0-p247 @ railstut_rails_4_0
  2. Gemfile di aggiornamento: le prime due delle seguenti righe a vantaggio della configurazione RVM; seguito da un commento per riferimento personale:

    ruby '2.0.0'
    #ruby-gemset=railstut_rails_4_0
    #[email protected]_rails_4_0

  3. bundle install without produzione

  4. aggiornamento fascio
  5. bundle install
19

ho avuto questo problema. Risultò essere causato dall'installazione di Mac OS 10.9 (Mavericks), dal momento che Mavericks ha un nuovo strumento a linea di comando indipendente separato da Xcode. Per risolvere questo problema, ho cancellato/Applicazioni/Xcode e poi installato gli strumenti stand-alone della riga di comando tramite:

Nota: potrebbe non essere necessaria Prima linea, vedere i commenti qui sotto

sudo rm -rf /Applications/Xcode 
xcode-select --install 

quindi fare clic su 'install 'dal OSX finestra pop-up

fonte: http://www.computersnyou.com/2025/2013/06/install-command-line-tools-in-osx-10-9-mavericks-how-to/

+2

Potrebbe essere necessario accettare il nuovo contratto di licenza. RAND 'sudo gcc -v' per assicurarmi che avessi la versione 4.2, quindi mi ha chiesto di accettare il contratto di licenza. 'gem update' ha funzionato dopo. –

+0

@BlakeErickson Non penso di dover firmare alcun accordo quando ho seguito questi passaggi. Forse l'avevo già firmato prima. – webdevguy

+0

Idem sulla necessità di eseguire sudo gcc -v per accettare il contratto di licenza. Sono rimasto bloccato per un paio d'ore e voi ragazzi mi avete salvato. Grazie. – Agazoom

0

Per coloro che ha ottenuto qui da googling: mi sono imbattuto in qualcosa di simile con atomica 1.1.14.

Nel mio caso era in realtà Avast (programma anti-virus) che non mi permetteva di eseguire un file specifico per atomico.

È stato risolto escludendo il file da Avast e quindi eseguito nuovamente gem install atomic -v '1.1.14'.

0

Utilizzo Mac OS Lion e per risolvere questo problema ho installato i nuovi strumenti della riga di comando. Passi: Apri XCode -> Download -> Installa strumenti da riga di comando. Proprio così.

0

Questo 100% ha a che fare con gli spazi nel percorso. L'errore che sputa mostra il percorso di installazione tentato. Errore fastidioso.