我试图用gh-pages部署我的React应用程序,但是我遇到了这个错误:“ file”参数必须是字符串类型。收到的类型未定义。
起初,我以为是我的代码,所以我制作了另一个没有修改的create-react-app,尝试使用npm run deploy命令进行部署,但再次收到此错误消息。
npm run deploy
我的package.json(我已经添加了homepage链接,predeploy和deploy脚本以及gh-pages依赖项):
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/ruby-2.5.1@global/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/ruby-2.5.1@global/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已被修改。
似乎是gh-pages 2.1中的错误。
我通过将gh-pages降级到2.0版解决了我的问题:
yarn add [email protected] -D` // or npm install -D [email protected]