Ошибки и решение проблем установки расширений
Опубликовано: Бармалей · 13.06.2014 · 01:00 ••• Обновление: 19.03.2021 · 14:32 1

Ошибки установки и решение некоторых проблем при установке расширений

Ниже рассмотрены отдельные типичные проблемы, которые могут возникать при установке или загрузке аддонов из Chrome Web Store (далее – CWS), со сторонних сайтов и/или из локальных файлов/папок. Одна из основных причин – несоответствие расширения и версии браузера. Причём, даже самые последние версии не всегда гарантируют от ошибок установки.


В этой статье:


Общие замечания по решению проблем при установке расширений

Во многих случаях для решения проблемы придётся воспользоваться установкой в режиме разработчика (способ № 3, далее по тексту – РР), включается на странице расширений (chrome://extensions/) – галочка "Режим разработчика" в самом верху страницы:

Внимание!
Для решения части проблем требуется распаковка crx-файлов и ручная правка отдельных файлов расширений. При этом необходимо помнить, что эти файлы должны сохраняться в формате UTF-8, в противном случае исправленное расширение работать не будет!

Примечание по "Минусам":
Основной "минус" большей части "шаманских" действий – установленное расширение после этого не будет обновляться автоматически. Причины – потеря/смена ID либо (с июня 2014) некорректная обработка гуглозином запросов от "устаревших" и/или "чужих" (не-гугло-хром) браузеров. Хотя с другой стороны, в этом же есть и большой плюс – расширение при этом не будет выпилено/отключено автоматически, по тем же самым причинам.. =)


0. Сообщение "Пакет недействителен…"

Известны следующие варианты этой ошибки:

"CRX_MAGIC_NUMBER_INVALID"


[Копия скриншота ошибки]

Самая старая и известная проблема, эта "пугающая" надпись выдаётся при попытке установки:

  • расширения НЕ из гуглозина (CWS);
  • перетаскиванием скачанного файла расширения в окно браузера;
  • перетаскивании переименованного файла расширения (crx из zip/nex/oex).

Связана с несоответствием формата упакованного расширения стандартам хром-браузера.

"CRX_VERSION_NUMBER_INVALID"


[Копия скриншота ошибки]

Проблема достаточно новая, "нарисовалась" в версиях браузеров до 63 и только1 при установке не из CWS.

Это сообщение выдаётся при попытке установки и связано с изменением формата CRX-файлов (с версии 2 на 3).

Результат: браузер "не принимает" установочный пакет с новой версией формата, установка не выполняется.

Такая ситуация возникает, если CRX-файл был упакован автором аддона в версии браузера 64+ (пояснение).

С версии 73+ при установке не из CWS есть проблема обратной совместимости – НЕ принимаются2 CRX версии 2. При этом попытка установки таких файлов может приводить к полному закрытию браузера.

  1. При установке из CWS этой проблемы нет, гуглозин отдаёт клиенту "правильный" формат в зависимости от версии его браузера. Обсуждение этой особенности при загрузке/установке расширений из CWS – отсюда и далее.
  2. Кроме "китайцев" типа 360 Extreme Explorer или Cent-браузера, которые и в версиях 74+ нормально "понимают" оба формата (версии 2 и 3).

Решение 1: во всех случаях самое простое – ручная установка в РР.
Минусы: расширение не будет обновляться автоматически.


Решение 2: только для второго случая (браузер версии до 63) и если аддон не из CWS: можно связаться с автором и попросить перепаковать CRX-файл в версии браузера с ядром до 62 (включительно). При этом аддон можно установить в любых версиях браузеров до 73+ (совместимых с CRX версии 2).


Решение 3: только для третьего случая (браузер версии 73+) и если аддон не из CWS: можно связаться с автором и попросить перепаковать CRX-файл в версии браузера с ядром 64+ (CRX версии 3). При этом аддон можно установить в любых версиях браузеров от 63 и новее.


1. Требуется версия браузера не ниже…

При установке об этом сообщается прямым текстом – например, что-то типа "бла-бла ...версия 31".
Связано со значением строки "minimum_chrome_version" в файле manifest.json.

Возможны следующие варианты:

Выставлена завышенная версия браузера

Реально же аддон может работать и на более старых версиях.


Решение: скачать/распаковать crx-файл расширения, вручную исправить эту строку и установить аддон в РР.
Минусы: расширение не будет обновляться автоматически.


Ограничение выставлено правильно

Расширение использует функции, не поддерживаемые в старых браузерах.


Решение: можно попробовать установить аналогично и убедиться в работоспособности нужных функций.
Минусы: часть функций может не работать или работать неправильно, расширение не будет обновляться автоматически.


2. Ошибка версии файла манифеста

При установке из CWS будет выдано соответствующее сообщение “Invalid manifest”, установка не произойдёт.
При ручной установке в этом случае у расширения будет "висеть" предупреждение (на странице chrome://extensions/).

Связано со значением1 строки "manifest_version" в файле manifest.json (см. справку).

  1. Значение "1" говорит о том, что расширение выпущено достаточно давно2 (до выхода 18 версии браузера).
  2. Для новых раширений значение равно "2" (соответственно, при этом "обламываются" браузеры версий ниже 18).

Решение: скачать/распаковать crx-файл расширения, вручную исправить эту строку и установить аддон в РР.
Минусы: расширение не будет обновляться автоматически, на старых версиях может совсем не работать.


Костыль: можно использовать запуск браузера с ключом --allow-legacy-extension-manifests.
Минусы: если после установки "старого аддона" запускать браузер без этого ключа, аддон "слетит" (пример).


Предупреждение: в любом случае – не факт, что "старое" расширение после этих действий будет нормально работать, т.к. в его коде могут быть и другие "проблемы" (напр., JS-скрипты внутри HTML-файла, "устаревшие" операторы API и пр.).


3. Расширение установилось, но имеет предупреждения

После установки любым способом у аддона "висят" предупреждение (на странице chrome://extensions/), которые начинаются строкой: "При установке расширения возникли предупреждения:"

Возможны следующие варианты:

Unrecognized manifest key '...'

Пример сообщения: Unrecognized manifest key 'short_name'.

В общем случае связано с некорректными параметрами в файле manifest.json. Часто характерно для расширений, портированных с других браузеров (в частности, поле "developer_name" и др.). На работоспособность не влияет, но – неприятно. Поэтому устраняем так:


Решение 1: скачать/распаковать crx-файл расширения, вручную удалить проблемную строку и установить аддон в РР.
Минусы: расширение не будет обновляться автоматически, на старых версиях может совсем не работать.


Решение 2: найти папку расширения в своём профиле и вручную удалить проблемную строку в файле manifest.json. После внесения исправлений следует перезагрузить расширение, выключив/включив его, либо нажав ссылку "Обновить", если оно устанавливалось вручную из локальной папки. В редких случаях может потребоваться перезагрузка браузера.
Минусы: после обновления аддона, возможно, придётся повторить "выгрызание".


Permission ... is unknown or URL pattern is malformed.

Пример сообщения: Permission 'fileSystem.directory' is unknown or URL pattern is malformed.

Связано с параметрами ключа "permissions" в файле manifest.json ("правильные" значения см. здесь). Означает, что ваша версия браузера "не понимает" одно (или несколько) заданных значений.


Решение: если в манифесте есть ошибка синтаксиса, действуем по аналогии с предыдущим случаем – устраняем путём исправления на корректное значение и перезапускаем расширение. Если же ошибок синтаксиса нет, то в общем случае расширение в целом либо часть его функций на вашей версии браузера работать не будет.


4. Сообщение "Недопустимый пакет..."

Эта ошибка выглядит примерно так:


[Копия скриншота ошибки]

Cannot load extension with file or directory name _.

И далее пояснение "Filenames starting with "_" are reserved for use by the system."

Возникает при попытке установки расширения любым способом. Связано с наличием в аддоне папок/файлов с именами, начинающимися с символа подчёркивания.

Основная причина: за исключением папки _locales браузеры версий ниже 31 не поддерживают такие имена.

Известна следующая причина ошибки:

Расширение содержит папку _metadata

Проблема, искусственно созданная Google для пользователей "старых" версий браузера и не‑гуглохромов. Направлена на "выдавливание" старых версий и не‑гугло‑хром‑браузеров путём отказа от их поддержки.

Появилась в конце мая 2014 года, характерна для новых версий аддонов, скачиваемых из CWS. Исправлять её "корпорация добра", вероятнее всего, не будет, о чём явно сказано здесь (см. также тут).


Решение: предложил камрад KloneBADGuY, подробнее можно прочитать здесь.
Порядок действий: скачать расширение (способы указаны здесь), распаковать crx-файл и удалить папку _metadata, установить расширение в РР.
Минусы: расширение не будет обновляться автоматически.


5. Ошибка загрузки расширения из CWS

Известны следующие варианты этой ошибки:

Сообщение об ошибке, генерируемое CWS (типа "файл не найден" и т.п.)

Возникает при попытке установить расширение либо при скачивании его crx/zip-файла. В общем случае причин может быть много, вплоть до некорректной работы сети и т.д.


Решение: в простейшем случае достаточно перегрузить страницу и повторить процесс установки/загрузки. Если после этого "всё получилось", значит, это был "временный глюк" и причин для волнений нет.. =)


Установка/загрузка из CWS устойчиво не проходит

Подобные ситуации стали наблюдаться с начала июня 2014 года (читать отсюда и далее).

Связаны с "закручиванием гаек" на гуглозине и сменой механизма отдачи файлов при проверке версии браузера. Характерны для новых1 версий аддонов (обновлённых после 01.06.20142), скачиваемых из CWS.

Для таких "обновлённых" расширений не работает часть средств загрузки CRX-файлов. Также для них неработоспособны отдельные инструменты просмотра содержимого CRX-файлов (их старые версии).

  1. Более старые пока спокойно "берутся" всеми средствами – и сайтами-загрузчиками и "спец-загрузчиками" и "гляделками".
  2. Ориентировочный срок "отсыхания", как подмечено – есть и более ранние, с мая 2014, но таких мало.

Решение 1: закачка CRX/ZIP-файлов расширений с помощью аддона Get CRX RU (или аналогичных расширений) и их последующая ручная установка.
Порядок действий: установить подходящий аддон, скачать с его помощью CRX/ZIP-файл нужного расширения, распаковать и установить вручную в РР.
Минусы: расширение не будет обновляться автоматически (теряется идентификатор гуглозина).


Решение 2: использование "промежуточного" браузера для создания CRX-файлов [пост1], [пост2].
Порядок действий: установить свежую портабельную версию Chrome/Chromium, установить с её помощью нужное расширение, запаковать расширение, получив на выходе CRX-файл, установить в рабочем браузере любым способом из полученного CRX-файла.
Минусы: расширение не будет обновляться автоматически (теряется идентификатор гуглозина).


Решение 3: использование прямой загрузки CRX-файлов (метод + упрощённо + букмарклет + качалка‑воровайка).
Порядок действий: внимательно прочитать обсуждение отсюда и далее, в любом браузере и любым из предложенных в теме способов скачать оригинальный CRX‑файл, после чего установить расширение любым способом из полученного CRX‑файла.
Минусы: зависят только от способа установки расширения.


Решение 4: использование архива расширений для прямой загрузки CRX-файлов.
Порядок действий: перейти в архив расширений, найти нужное расширение по имени или по ID и скачать нужную вам версию в виде crx‑файла. После этого просто установить расширение любым способом из полученного CRX‑файла.
Минусы: зависят только от способа установки расширения.


Дополнительно: для уменьшения проблем и отключения раздражающих надписей – также помним об этом… :·)


Сообщение "Download interrupted" или "Файлы отсутствуют"

Относится к расширениям, устанавливаемым из CWS, на старых версиях браузеров (до 63).
На более новых браузерах проблема полностью отсутствует, расширения устанавливаются нормально.

Ошибка стала устойчиво выдаваться с начала 2021 года, независимо от того, насколько старое расширение вы пытаетесь установить и поддерживается ли оно вашей версией браузера. В частности, проблема имеется для всех достаточно старых расширений, которые до этого спокойно устанавливались из CWS.

При этом на странице таких расширений по-прежнему присутствует отметка "Совместимо с вашим устройством" и доступна сама кнопка установки. Ошибка появляется в момент начала загрузки установочного файла после нажатия на эту кнопку и при подтверждении установки.

Это связано с удалением в гуглозине поддержки формата CRX v.2 (и соответствующих CRX‑файлов расширений). Принудительно скачать файлы в этом формате с помощью расширений‑загрузчиков теперь также невозможно (при попытке загрузки выдаётся аналогичная ошибка об отсутствии файла на сервере).


Решение 1: скачать файл в формате CRX v.3 любым из доступных способов, распаковать и установить в РР.
Минусы: расширение не будет обновляться автоматически (теряется идентификатор гуглозина).


Решение 2: попытаться найти в архивах необходимый оригинальный файл в формате CRX v.2 и установить как обычно (перетаскиванием на страницу chrome://extensions).
Минусы: зависят только от способа установки расширения.
…и, конечно же, от того, сможете ли вы вообще найти нужную копию в формате CRX v.2…


Решение 3: самое простое решение – обновить браузер до версии 63+, поддерживающей новый формат crx‑файлов.
Минусы: зависят от вашей системы и решаемых задач, новое – не всегда значит лучшее…


6. Сообщение "Ваш браузер/система больше не поддерживается…"

При этом расширение кнопка установки расширения недоступна (меняется на "Доступно в Chrome").

Ситуации наблюдаются с мая 2014 года (на не‑гугло‑браузерах, на версиях старше 32, и на Windows XP). Направлены на "выдавливание" старых версий и не‑гугло‑хром‑браузеров путём отказа от их поддержки.
Связаны с изменение политики Google и с "закручиванием гаек" на гуглозине.


Решение: подмена строки User-Agent'а браузера, подробно см. здесь. Подходящие "правильные" строки UA можно посмотреть тут.


7. Сообщение "Это расширение могло быть повреждено"

Относится к расширениям, установленным из CWS, на версиях браузера 31+ (?).

Ситуация, в частности, возникает при ручной правке отдельных файлов расширения (после правки/перезапуска). При этом расширение автоматически отключается и появляется кнопка (ссылка) "Восстановить". При нажатии на эту кнопку (ссылку) проблемное расширение переустанавливается из CWS.

Это связано с проверкой браузером исходного хэша расширения (хранится в папке _metadata). Проверка повышает безопасность использования аддонов и отслеживает их неконтролируемые изменения.


Решение: предложил камрад Tilks:

После правки надо удалить папку _metadata, и вместо её создать пустой файл _metadata
...
Можно и по другому как нибудь, например, запретить запись в эту папку правкой прав, главное не разрешать создавать файл computed_hashes.json


Дополнительные ссылки для самоизучения

Кроме описанных выше проблем, вы можете столкнуться и с другими. Если вы хотите научиться решать их самостоятельно, рекомендуем ознакомиться со следующими материалами:

Решение других проблем установки расширений
Официальная Справка
Общие принципы Бармалей
Бармалей 13.06.2014 19.03.2021 667 0.0

Поделиться

Всего комментариев: 1
0
1 Бармалей 20.03.2021 • 06:10
..добавил свеженькое: Сообщение "Download interrupted" или "Файлы отсутствуют"
думал, временные грабли, но, походу, с концами отломано.. блин, опять надо "воровайку" пилить, туды их..

попутно: добавил оглавление к статье и немножко причесал ссылки/оформление..
close