Установка электрона на 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 Кбит/с !
Проведя небольшое исследование, я обнаружил, что электрон делегирует задачу загрузки в пакет 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 (должен увеличиваться), а также в соответствии с предыдущим ответы проверяют статистику вашего подключения к данным.