#ninja
#ninja
Вопрос:
я получаю исходный код (chrome) с помощью
$ glient sync
выполнил весь запрос команды :
- gclient config ......
- GYP_GENERATORS ...
- build/intall-build-desp.......
- GYP_DEFINES....
- etc...
но когда я пытаюсь создать chromedriver таким образом :
lolo@ssa-workstation:~/work$ ninja -C /out/Release chromedriver
я всегда получаю это сообщение
ninja: Entering directory `/out/Release'
ninja: fatal: chdir to '/out/Release' - No such file or directory`
пожалуйста, любая помощь?
Комментарии:
1. 1 У меня точно такая же проблема. Однако я понятия не имею, как использовать конфигурацию gclient (и так далее)… Документация просто ужасна.
2. Вы должны быть в
src
каталоге.
Ответ №1:
Только что нашел то, что сработало для меня (Mac OS X Catalina 10.15.2) — исходный код
(Примечание: Вероятно, вам придется заменить ios
or iphonesimulator
на chromedriver
, поскольку я создавал chromium для iOS)
Вы должны ввести src
папку (после того, как вы использовали fetch — fetch ios
в моем случае) и использовать gn args out/Debug-iphonesimulator
(или заменить out/Debug-iphonesimulator
выбранным out/
каталогом), чтобы открыть редактор ( vi
editor в моем случае), чтобы установить следующие gn
переменные и восстановить:
# Set to true if you have a valid code signing key.
ios_enable_code_signing = false
target_os = "ios"
# Set to "x86", "x64", "arm", "armv7", "arm64". "x86" and "x64" will create a
# build to run on the iOS simulator (and set use_ios_simulator = true), all
# others are for an iOS device.
target_cpu = "x64"
# Release vs debug build.
is_debug = true
После этого вы сможете запустить свою команду без проблем (но убедитесь, что depot_tools
находятся в вашем $PATH
)
Я запустил autoninja -C out/Debug-iphonesimulator gn_all
, и это сработало как шарм 🙂
Для справки я использовал официальную документацию из здесь и здесь
Есть другой вариант, который можно использовать GYP
вместо gn
на той же странице документации (я не пробовал сам, но это все равно может кому-то помочь):
В каталоге, где вы собираетесь проверить код, создайте chromium.gyp_env
, чтобы настроить сборку на использование целей iOS:
cat > chromium.gyp_env <<EOF
{
"GYP_DEFINES": "OS=ios",
"GYP_GENERATORS": "ninja,xcode-ninja",
}
EOF
Если вы не настроены подписывать продукты сборки iOS через учетную запись разработчика, вам следует вместо этого использовать:
cat > chromium.gyp_env <<EOF
{
"GYP_DEFINES": "OS=ios chromium_ios_signing=0",
"GYP_GENERATORS": "ninja,xcode-ninja",
}
EOF
Надеюсь, это может сэкономить кому-то много времени на поиск ответа 🙂