web-dev-qa-db-ja.com

Windows 10 - > 'npx create-react-app myapp'コマンドは、ファイルパスのwhitespaceのユーザー名のために機能しません

次のエラーメッセージを受信して​​、_npx create-react-app appname_を介してWindows 10にReactアプリをインストールしようとすると、いくつかの問題になりました。

_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\firstname LastName\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#iescomment-384019497

私はこのコメントをここに投稿しています。これは、円形リンクされたGithubスレッドのgazillionsを通して働くことの雑用を誰も救うためにここに投稿しています。

10
Daniel

これが私がこれを解決する方法です:

  1. %APPDATA%からNPMフォルダを削除する
  2. prefixcacheの両方をスペースなしでパスに設定します。 prefixcacheを使用して、ユーザーのフォルダからのパスパスを使用して、システムがセキュリティリスクにさらす可能性があることに注意してください。
    npm config set prefix F:\PathWithoutSpace\
    npm config set prefix F:\PathWithoutSpace\ --global
    npm config set cache F:\PathWithoutSpace\cache
    npm config set cache F:\PathWithoutSpace\cache --global
  1. yarncreat-react-appのようなパッケージを再インストールしてください
  2. F:\PathWithoutSpace\をユーザーのパス環境変数に追加します。これは既に%APPDATA%\npmの拡張バージョンを含みます。これは不要になります。

NodeJSをインストールするときにこれらの問題をユーザーに通知する価値があると思います。

0
Achilles