     options = @parseOptions(options.commandArgs)
 
     @createAtomDirectories()
-    packageName = options.argv._[0] ? '.'
-    if packageName is '.'
+    name = options.argv._[0] ? '.'
+    if name is '.'
       @installDependencies(options, callback)
     else
-      @installPackage({name: packageName}, options, callback)
+      atIndex = name.indexOf('@')
+      if atIndex > 0
+        version = name.substring(atIndex + 1)
+        name = name.substring(0, atIndex)
+      @installPackage({name, version}, options, callback)

        callback()
        return

      label = packageName
      label += "@#{packageVersion}" if packageVersion
      process.stdout.write "Installing #{label} "

    auth.getToken (error, token) =>
      if error?

        callback("#{stdout}\n#{stderr}")

  installModule: (options, pack, modulePath, callback) ->
    vsArgs = null
    if config.isWin32()
      vsArgs = "--msvs_version=2010" if config.isVs2010Installed()
