Установка электрона на node для зависания окон

Я следую инструкциям по быстрой установке на электронном носителе:http://electron.atom.io/

Сценарий:

Клонировать репозиторий Quick Start

git clone https://github.com/electron/electron-quick-start

Зайдите в хранилище

cd electron-quick-start

Установите зависимости и запустите

npm install && npm start

Установка застряла на:

Node Install.js - эта команда выполняется с npm install && npm start.

Есть ли способ узнать, что node install.js делает в бэкэнде, чтобы выяснить, почему он застрял?

Ответ 1

с --verbose это делает его гораздо более очевидным, если вы каким-то образом прерываете загрузку электронного модуля во время установки node_modules это поможет исправить это, наблюдая за процессом загрузки и установки с помощью:

npm install electron -g --verbose

С помощью этой команды вы установите глобальный электрон. Вы не можете отменить пока процесс загрузки не будет завершен. Удалите папку node_modules и переустановите.

Ответ 2

Проверяя файл electronic/install.js, он загружает некоторые файлы и фактически устанавливает их. Поэтому, исходя из вашей пропускной способности, может потребоваться некоторое время.

// downloads if not cached
download({
  version: version,
  platform: process.env.npm_config_platform,
  arch: process.env.npm_config_arch,
  strictSSL: process.env.npm_config_strict_ssl === 'true',
  quiet: ['info', 'verbose', 'silly', 'http'].indexOf(process.env.npm_config_loglevel) === -1
}, extractFile)

// unzips and makes path.txt point at the correct executable
function extractFile (err, zipPath) {
  if (err) return onerror(err)
  fs.writeFile(path.join(__dirname, 'path.txt'), paths[platform], function (err) {
    if (err) return onerror(err)
    extract(zipPath, {dir: path.join(__dirname, 'dist')}, function (err) {
      if (err) return onerror(err)
    })
  })
}

Ответ 3

У меня была похожая проблема из-за низкой скорости загрузки. Как подсказывают другие ответы, попробуйте запустить npm install --verbose, чтобы увидеть, что висит. В моем случае это была загрузка электронного пакета со скоростью 20 Кбит/с ! enter image description here Проведя небольшое исследование, я обнаружил, что электрон делегирует задачу загрузки в пакет electron-download (https://www.npmjs.com/package/electron-download).

В документации electron-download есть несколько способов установить местоположение/зеркало, где можно загрузить электронный пакет.

Вместо настройки локального зеркала, как описано в документации, я вручную загрузил пакет с китайского зеркала (https://npm.taobao.org/mirrors/electron/1.6.12/). Я мог получить пакет менее чем за 5 минут. Затем скопировал оба пакета и SHASUMS256.txt в папку %USERPROFILE%\.electron.

Перезапустите npm install --verbose, и он больше не зависает.

Ответ 4

Дайте ему время, оно будет завершено. Вы не увидите прогресса, но выполняетесь в бэкэнд.

Ответ 5

Я получал ту же проблему на машине с Windows 10

  • Удалить папку% appdata%/npm/node_modules
  • Запустите командную строку в режиме администратора.

Установка была выполнена, когда я сделал эти шаги. Надеюсь, это тоже поможет кому-то еще.

Ответ 6

try npm install -g --verbose electron работает как шарм.

Он устанавливает модуль + показывает прогресс

введите описание изображения здесь

Ответ 7

Подождите, пока он закончит работу фона, пока он кажется висящим, но нет. Я также столкнулся с этой проблемой и понял, что ее фоновая работа выполнялась путем проверки скорости загрузки моего диспетчера модемов. См. Следующее изображение о скорости DL около 2 Мбит/с.

введите описание изображения здесь

Ответ 8

Просто держись на некоторое время и возьмите кофе, который он завершит. Если вы не уверены, что загрузка действительно происходит... продолжайте проверять размер модулей node (должен увеличиваться), а также в соответствии с предыдущим ответы проверяют статистику вашего подключения к данным.