Ошибка установки NativeScript CLI

Я пытаюсь изучить NativeScript. Я выполнил следующие шаги для установки NativeScript на моем 64-битном компьютере с Windows 8.1 Pro:

  1. Установлен node.js (node-v8.11.2-x64) на диск D
  2. Установленный код Visual Studio (VSCodeSetup-x64-1.23.1) на диске D
  3. Установлен Git (Git-2.17.0-64-bit) на диске D
  4. Установлена ​​Android Studio (android-studio-ide-173.4720617-windows) на диске D
  5. Установил NativeScript с помощью следующей команды: npm install -g nativescript.

Я получаю следующую ошибку на шаге 5:

C:\Users\UserName>npm install -g nativescript
[email protected] preuninstall C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript

node preuninstall.js

Failed to complete all pre-uninstall steps.

C:\Users\UserName\AppData\Roaming\npm\tns -> C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\bin\tns

C:\Users\UserName\AppData\Roaming\npm\nativescript -> C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\bin\tns

> [email protected] postinstall C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript

> node postinstall.js

RangeError: Maximum call stack size exceeded

at normalizeStringWin32 (path.js:33:30)

at Object.resolve (path.js:328:20)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:68:14)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:77:24)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\nativescript\node_modules\fsevents):

    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ [email protected]

updated 1 package in 18.244s

Когда я запускаю команду tns doctor, я получаю следующую информацию:

> C:\Users\UserName>tns doctor
> 
> RangeError: Maximum call stack size exceeded
> 
>     at normalizeStringWin32 (path.js:33:30)
> 
>     at Object.resolve (path.js:328:20)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:68:14)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:77:24)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)
> 
>     at sync (C:\Users\UserName\AppData\Roaming\npm\node_modules\nativescript\node_modules\mkdirp\index.js:78:17)

Я также попытался удалить NativeScript, но он зависает по-прежнему resolveWithNewModule, см. Ниже:

C:\Users\UserName>npm uninstall -g  nativescript

[  ................] / loadDep:readdirp: sill resolveWithNewModule [email protected] checking installable status

Мои вопросы:

  1. Как исправить ошибку установки NativeScript?
  2. Если мне нужно удалить NativeScript, как я могу это сделать?
  3. В какой каталог устанавливается NativeScript с установленной командой, и могу ли я установить его на диск d?

person learner    schedule 16.05.2018    source источник
comment
Сколько баранов у вас на машине?   -  person Aaron Ullal    schedule 17.05.2018


Ответы (2)


Похоже, в процессе установки не хватает памяти. Попробуйте выполнить эту команду перед запуском установки:

node --max-old-space-size=8192

Установите последний номер в соответствии с ОЗУ, установленным на вашем компьютере (2048, 4096 и т. Д.)

person Aaron Ullal    schedule 17.05.2018
comment
Сомневаюсь, что это проблема с памятью, у меня 32 ГБ ОЗУ. В любом случае, я попробовал ваше предложение, но все равно не повезло - person learner; 23.05.2018

@Aaron Ullal прав, причина в основном в том, что в куче NodeJS (использование памяти в V8) заканчивается используемая память, а не потому, что у вас не осталось оперативной памяти, это жесткая остановка, включенная в конфигурацию node exec.

вы можете добавить флаг для увеличения размера кучи на ходу

NODE_OPTIONS="--max-old-space-size=4096" node

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

person Aosi    schedule 17.09.2020