Windows 10 -> команда «npx create-response-app myapp» не работает из-за пробелов в имени пользователя в пути к файлу - PullRequest
0 голосов
/ 12 октября 2019

Я столкнулся с некоторыми проблемами при попытке установить приложение реагирования на Windows 10 через npx create-react-app appname, получив следующее сообщение об ошибке:

Error: EPERM: operation not permitted, mkdir 'C:\Users\Daniel'
TypeError: Cannot read property 'loaded' of undefined
    at exit (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:98:27)
    at errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:216:3)
    at C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:77:20
    at cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:225:22)
    at C:\Program Files\nodejs\node_modules\npm\lib\npm.js:263:24
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:83:7
    at Array.forEach (<anonymous>)
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:82:13
    at f (C:\Program Files\nodejs\node_modules\npm\node_modules\once\once.js:25:25)
    at afterExtras (C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:173:20)
C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:98
  var doExit = npm.config.loaded ? npm.config.get('_exit') : true
                          ^

TypeError: Cannot read property 'loaded' of undefined
    at exit (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:98:27)
    at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:216:3)
    at process.emit (events.js:198:13)
    at process._fatalException (internal/bootstrap/node.js:496:27)
Install for create-react-app@latest failed with code 7

Я начал некоторые исследования и, наконец, обнаружил, что этопроблема возникает, если в имени пользователя Windows есть пробел, например, «C: \ Users \ Имя, Фамилия \ AppData \ Roaming \ npm-cache»

После нескольких утомительных бегов по кругу и повторного чтения нескольких github-Темы по этой проблеме, я наконец нашел патч, который работал для меня: запустите npm config set cache "C:\Users\Firstname~1\AppData\Roaming\npm-cache" --global из вашего терминала, он заменит пробел и все остальные после него на ~ 1, что, кажется, решает проблему

Источник, где я нашел это решение: https://github.com/zkat/npx/issues/146#issuecomment-384019497

Я публикую этот комментарий здесь, чтобы избавить любого человека от рутинной работы с gazillions круговых связей потоков github.

1 Ответ

0 голосов
/ 12 октября 2019

Вы не можете опубликовать ответ в виде вопроса. Но после того, как вы задали вопрос и нашли ответ, вы можете опубликовать его как ответ, даже если это ваш вопрос.

РЕШЕНИЕ

если вы хотите использовать текущий путь с пробелом в имени пользователя "C:\Users\Firstname Lastname\AppData\Roaming\npm-cache", вы можете заменить строку после пробела на "~1"

npm config set cache "C:\Users\Firstname~1\AppData\Roaming\npm-cache" --global

...