Вопрос или проблема
Я хотел бы сохранить версию Chrome вне папки /Applications
, чтобы ее версия не обновлялась автоматически при патче ОС. Это необходимо для тестирования Selenium. Я хочу зафиксировать версию Chrome (и версию Chromedriver), чтобы можно было тестировать Selenium без Интернета.
В качестве теста я попробовал скопировать текущую версию из папки /Applications
и сохранить ее в другое место; затем запустить оттуда
$ cp -pr /Applications/Google\ Chrome.app/ /Users/myname/Darwin/24.2/"Google Chrome.app"
$ /Users/myname/Darwin/24.2/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
но я получил следующую ошибку. см. скриншот.
Текущая версия Chrome – 131.0.6778.205 (Официальная сборка) (arm64). Работает нормально из папки /Applications
.
Есть ли способ достичь моей цели?
.
Ответ или решение
Для достижения вашей цели по установке и запуску фиксированной версии Chrome за пределами папки /Applications
на вашем MacBook, следуйте подробной инструкции ниже.
Шаг 1: Понимание Проблемы и Подготовка
Ваше желание сохранить определенную версию Chrome для тестирования Selenium без автоматического обновления является разумным. При копировании в другую папку возникает ошибка, которая может быть связана с правами доступа или внутренними ссылками на ресурсы в приложении.
Шаг 2: Копирование Google Chrome
-
Создание директории: Убедитесь, что папка, в которую вы хотите установить Chrome, создана и доступна.
mkdir -p /Users/myname/Darwin/24.2/
-
Копирование приложения:
Используйте командуcp
с ключами, чтобы скопировать приложение с сохранением всех символических ссылок и метаданных:cp -a /Applications/Google\ Chrome.app /Users/myname/Darwin/24.2/
Шаг 3: Исправление Пути доступа
Некоторые приложения, такие как Chrome, могут зависеть от относительных путей или конкретных настроек, привязанных к /Applications
. Чтобы исправить это, убедитесь, что переменные окружения и ссылки для Chrome правильно установлены.
-
Попробуйте использовать патчинг приложений:
- Проверьте и измените файлы конфигурации внутри пакета приложения, такие как
Contents/Info.plist
, чтобы убедиться, что пути не жестко закодированы.
- Проверьте и измените файлы конфигурации внутри пакета приложения, такие как
-
Используйте
xattr
для сброса атрибутов безопасности:
Если сообщение об ошибке связано с защитными механизмами macOS (например, quarantine attribute), выполните:xattr -rd com.apple.quarantine /Users/myname/Darwin/24.2/Google\ Chrome.app
Шаг 4: Запуск и Тестирование
-
Запуск Chrome:
Проверьте, можно ли запустить Chrome напрямую:open /Users/myname/Darwin/24.2/Google\ Chrome.app
-
Тестирование через Selenium:
Настройте ваш Selenium для использования исполняемого файла из новой локации, убедитесь, что Chromedriver соответствует версии браузера.
Шаг 5: Проверка Работоспособности
- Если все шаги выполнены корректно, Google Chrome должен запускаться из новой директории без ошибок.
- Отслеживайте возможные сообщения об ошибках и при необходимости адаптируйте переменные окружения или скрипты, запускающие Chrome.
Заключение
Таким образом, установка Google Chrome в другую директорию на MacBook требует внимательного подхода к копированию и конфигурации. Убедитесь, что все зависимости и ссылки правильно настроены для успешной работы приложения за пределами стандартной директории /Applications
.