Почему npm apiconnect не устанавливается правильно на Win 10?

Я несколько раз безуспешно пытался установить apiconnect

npm install -g apiconnect

C:\Program Files\nodejs\node_modules\apiconnect\node_modules\heapdump>if not defined npm_config_node_gyp (node "C:\Users\Russ\AppData\Roaming\nvm\v9.5.0\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\Russ\AppData\Roaming\nvm\v9.5.0\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\Russ\AppData\Local\Programs\Python\Python36\python.EXE", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\Russ\AppData\Roaming\nvm\v9.5.0\node_modules\npm\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\Russ\AppData\Roaming\nvm\v9.5.0\node_modules\npm\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack     at C:\Users\Russ\AppData\Roaming\nvm\v9.5.0\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:166:21)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Russ\\AppData\\Roaming\\nvm\\v9.5.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\apiconnect\node_modules\heapdump
gyp ERR! node -v v9.5.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok

И loopback-cli, и strongloop установились правильно, без ошибок.

Сначала у меня не был установлен Python, но теперь он есть, и я добавил переменную среды PYTHON (добавил ее к системным переменным), как подсказывает ошибка: «вы можете установить переменную env PYTHON ".

PYTHON = C: \ Users \ Russ \ AppData \ Local \ Programs \ Python \ Python36 \ python.EXE

Я даже несколько раз перезагружался. Это иронично, потому что он показывает правильный путь к Python, но затем говорит, что не может его найти.

Да, я использую администратор: командная строка.

Как я узнаю, что это не работает? Когда я пытаюсь выполнить любую команду apic, я вижу эту ошибку

D:\temp\test1>apic -v
module.js:557
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\apiconnect\bin\cli.js'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Function.Module.runMain (module.js:701:10)
    at startup (bootstrap_node.js:190:16)
    at bootstrap_node.js:662:3

Есть ли другие подсказки для успешной установки?

Русь


person Russ Petersen    schedule 07.03.2018    source источник


Ответы (1)


Это проблема node-gyp. Вам необходимо установить некоторые другие библиотеки, включая python. В любом случае для этого есть более простое решение, без установки библиотек одну за другой.

  1. Запустите Powershell от имени администратора
  2. npm install --global --production windows-build-tools
  3. npm install -g apiconnect

Подробнее об инструментах сборки здесь

person Anouar Kacem    schedule 11.03.2018