2012-06-02 16 views
10

Cada vez que entro en un comando de gema, tales comoDurante la ejecución de la gema, comando desconocido

gem "tilt" 

o

gem "mysql" 

consigo este error:

While executing gem ... <RuntimeError> 
Unknown command tilt 

Cuando corro gem list, Tanto tilt como mysql aparecen en la lista, por lo que están instalados. De hecho, obtengo este error con cada elemento de la lista. ¿Qué podría estar causando esto?

Respuesta

21

gem no le miente, no son válidos los comandos gem.

¿Quizás está confundiendo la línea de comandos con Bundler? Por ejemplo, la adición de

gem "tilt" 

a un Gemfile y funcionando bundle install instalará inclinación. Pero Bundler usa su propia sintaxis y no es un script de shell. Para instalar la inclinación usando el binario directamente gem que tendría que hacer:

gem install tilt 

Correr gem help le dará una lista de argumentos de línea de comandos gem 's.

+0

La razón por la que estoy preguntando es porque estoy tratando de establecer mysql a una versión específica usando el comando: gem 'mysql2', '0.2.7'. Desafortunadamente, cuando uso este comando, obtengo el mismo error. ¿Alguna idea de por qué? – nullnullnull

+0

Porque no es un comando válido como dije. Si lees los documentos de ayuda para 'gema' como en mi pregunta, así como' gema ayuda a instalar' para aquellos específicos de la instalación, encontrarás los argumentos correctos para instalar una versión específica: 'gem install mysql2 --version 0.2 .7'. –

+0

Gracias por el consejo, Andrew. Obtuve el comando original de otra página de stackoverflow y no pude entender por qué no funcionaba en mi sistema. Todavía no lo sé, pero tu comando funciona. Tal vez tiene algo que ver con el sistema operativo? – nullnullnull

2

Está utilizando la sintaxis de Gemfile y debe utilizar la sintaxis de la línea de comandos. Seguirlo:

gem install mysql2 -v 0.2.7 
+0

Eso es exactamente. Gracias, David! – nullnullnull

1

Asegúrese de que su sintaxis es correcta para más directrices puede escribir

gem help

Para ver la sintaxis aceptable para rubí,

Si obtiene este error "No tiene permisos de escritura para/Library"

Siempre puede agregar sudo para elevar el privilegio s.

por ejemplo. sudo gem install <gemname>

Utilizando sudo antes de su código y que le dará acceso de administrador (después de escribir la contraseña de su computadora).

Después de eso es posible que deba ejecutar bundle install para instalar la gema.

Cuestiones relacionadas