Попытка развернуть приложение React с помощью gh-pages, но получило следующее сообщение об ошибке: Аргумент "file" должен иметь тип string. Полученный тип не определен

Я пытался развернуть свое приложение React с помощью gh-pages, но я сталкиваюсь с этой ошибкой: аргумент "file" должен иметь тип string. Полученный тип не определен.

Сначала я подумал, что это мой код, поэтому я создал другое приложение create-реагировать без изменений, пытаясь выполнить развертывание с помощью команды npm run deploy, но снова получил это сообщение об ошибке.

Мой package.json (я добавил свою ссылку homepage, сценарии predeploy и deploy и зависимость gh-pages):

  "name": "test-deploy",
  "version": "0.1.0",
  "private": true,
  "homepage": "https://vnsteven.github.io/test-deploy/",
  "dependencies": {
    "gh-pages": "^2.1.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Ошибка вывода:

> npm run build


> [email protected] build /Users/vansteven/Desktop/test-deploy
> react-scripts build

Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  36.44 KB  build/static/js/2.b41502e9.chunk.js
  770 B     build/static/js/runtime~main.90bc13d1.js
  601 B     build/static/js/main.74c1ab4e.chunk.js
  517 B     build/static/css/main.2cce8147.chunk.css

The project was built assuming it is hosted at /test-deploy/.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.
To publish it at https://vnsteven.github.io/test-deploy/ , run:

  yarn run deploy

> [email protected] deploy /Users/vansteven/Desktop/test-deploy
> gh-pages -d build

The "file" argument must be of type string. Received type undefined
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] deploy: 'gh-pages -d build'
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] deploy script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/vansteven/.npm/_logs/2019-08-01T17_48_50_611Z-debug.log

le shell a retourné 1

Журналы:

1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'deploy' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'predeploy', 'deploy', 'postdeploy' ]
5 info lifecycle [email protected]~predeploy: [email protected]
6 verbose lifecycle [email protected]~predeploy: unsafe-perm in lifecycle true
7 verbose lifecycle [email protected]~predeploy: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/vansteven/Desktop/test-deploy/node_modules/.bin:/Users/vansteven/.rvm/gems/ruby-2.5.1/bin:/Users/vansteven/.rvm/gems/[email protected]/bin:/Users/vansteven/.rvm/rubies/ruby-2.5.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/vansteven/.rvm/bin
8 verbose lifecycle [email protected]~predeploy: CWD: /Users/vansteven/Desktop/test-deploy
9 silly lifecycle [email protected]~predeploy: Args: [ '-c', 'npm run build' ]
10 silly lifecycle [email protected]~predeploy: Returned: code: 0  signal: null
11 info lifecycle [email protected]~deploy: [email protected]
12 verbose lifecycle [email protected]~deploy: unsafe-perm in lifecycle true
13 verbose lifecycle [email protected]~deploy: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/vansteven/Desktop/test-deploy/node_modules/.bin:/Users/vansteven/.rvm/gems/ruby-2.5.1/bin:/Users/vansteven/.rvm/gems/[email protected]/bin:/Users/vansteven/.rvm/rubies/ruby-2.5.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/vansteven/.rvm/bin
14 verbose lifecycle [email protected]~deploy: CWD: /Users/vansteven/Desktop/test-deploy
15 silly lifecycle [email protected]~deploy: Args: [ '-c', 'gh-pages -d build' ]
16 silly lifecycle [email protected]~deploy: Returned: code: 1  signal: null
17 info lifecycle [email protected]~deploy: Failed to exec deploy script
18 verbose stack Error: [email protected] deploy: 'gh-pages -d build'
18 verbose stack Exit status 1
18 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
18 verbose stack     at EventEmitter.emit (events.js:198:13)
18 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
18 verbose stack     at ChildProcess.emit (events.js:198:13)
18 verbose stack     at maybeClose (internal/child_process.js:982:16)
18 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
19 verbose pkgid [email protected]
20 verbose cwd /Users/vansteven/Desktop/test-deploy
21 verbose Darwin 16.7.0
22 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "deploy"
23 verbose node v10.16.0
24 verbose npm  v6.9.0
25 error code ELIFECYCLE
26 error errno 1
27 error [email protected] deploy: 'gh-pages -d build'
27 error Exit status 1
28 error Failed at the [email protected] deploy script.
28 error This is probably not a problem with npm. There is likely additional logging output above.
29 verbose exit [ 1, true ]

Это сообщение об ошибке исходит от моего совершенно нового приложения React. Только мой package.json был изменен.

Ответы

Ответ 1

Похоже, ошибка в gh-pages 2.1.

Я решил свою проблему, опустив gh-pages до версии 2.0:

yarn add [email protected] -D' // or

npm install -D [email protected]

Ответ 2

Обновление: Исправлено в [email protected]. Теперь вы можете обновить пакет gh-pages до последней версии, чтобы исправить это.

npm i [email protected]

Если вы не хотите переходить на версию 2.0.1, обходной путь состоит в том, чтобы вместо использования "deploy": "gh-pages -d build" в качестве сценария развертывания использовать:

"deploy": "gh-pages -d build --git git"

Это как-то решает проблему.

Вы можете найти проблему GitHub об этой ошибке здесь: tschaub/gh-pages # 308

Ответ 3

Всякий раз, когда вы запускаете свою программу, вы используете npm start. Это можно использовать и для Deploy. Вместо выполнения npm run deploy, команда должна быть npm deploy.