     catch error
       plugin = isRead: false
       plugin.version = '0.0.0'
+
+    plugin.pluginPath = pluginPath
 
     try
       plugin.packageData = fs.readJsonSync path.join pluginPath, 'package.json'

    plugin.isUpdating = true
    try
      yield Promise.promisify(npm.commands.install)(["#{plugin.packageName}@#{plugin.lastestVersion}"])
      plugin.isUpdating = false
      plugin.isOutdated = false
      plugin.version = plugin.lastestVersion
    catch error
      plugin.isUpdating = false
      throw error

  readPlugins: async (opt_notifyFailed) ->
    pluginPaths = yield Promise.promisify(globAsync)(path.join @pluginPath, 'node_modules', 'poi-plugin-*')
    @plugins_ = pluginPaths.map @readPlugin_
    for plugin_ in @plugins_
      if config.get "plugin.#{plugin_.name}.enable", true
        @loadPlugin(plugin_)
    if opt_notifyFailed
      @notifyFailed_()
    @plugins_ = _.sortBy @plugins_, 'priority'
