我正在尝试将我的React应用程序放在github页面上。但是,我甚至无法将应用程序部署到GitHub页面。
我在Windows 10计算机上使用Visual Studio Code。我用 create-react-app 创建了我的React应用程序。我跟着this tutorial to set up my app for Github Pages。这是我的 package.json :
{
"homepage": "https://MisturDust319.github.io/ign_code_foo",
"name": "ign_code_foo",
"version": "0.1.0",
"private": true,
"dependencies": {
"axios": "^0.18.0",
"bootstrap": "^4.1.0",
"gh-pages": "^1.1.0",
"react": "^16.3.1",
"react-dom": "^16.3.1",
"react-scripts": "1.1.4",
"reactstrap": "^5.0.0-beta.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"predeploy": "npm run build",
"deploy:": "gh-pages -d build"
},
"devDependencies": {}
}
完整的来源可用here
要部署,您应该只运行
npm run deploy
但是,当我从Windows PowerShell,Git Bash和命令提示符输入该命令时,我只是得到了几个“命令未找到”的变体。
作为回应,我从dev-dependencies中卸载了 gh-pages ,并将其作为普通依赖项重新安装。没变。在这一点上,我已经用尽了所有我能想到的解决方案,谷歌只提供了那些没有在package.json中包含 deploy 命令的人。
答案 0 :(得分:1)
您需要通过添加“ -g”来全局安装gh-pages:
npm install -g gh-pages --save-dev
文档:https://devdocs.io/npm/getting-started/installing-npm-packages-globally
答案 1 :(得分:1)
由于我没有足够的分数,因此我无法在此帖子中添加评论。但是您的 package.json 代码中存在错误:
"deploy:": "gh-pages -d build"
因为,有一个多余的分号:
。应该是:
"deploy": "gh-pages -d build"
答案 2 :(得分:1)
有关此问题发生原因的很少解释,其次是此问题的解决方法
在package.json文件中
"devDependencies": {
"gh": "^2.8.6",
"pages": "0.0.16"
}
在我们运行 npm install gh页时创建的内容-保存开发
但是要在我们运行 npm run deploy 时部署我们的项目,那时候它会根据 deploy 提到哪个脚本
自package.json起
"scripts": {
"deploy": "gh-pages -d build",
....}
提到了 gh-pages -d构建脚本。
它将尝试执行此操作,但是在npm上运行它的抛出错误的原因是这样的(如果您是mac用户)
sh: gh-pages: command not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! basic@0.1.0 deploy: `gh-pages -d build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the basic@0.1.0 deploy script.
是因为gh页也需要全局安装。
因此,如果您运行 npm install -g gh-pages --save-dev
与gh-pages安装相关的问题将得到解决。
答案 3 :(得分:0)
在运行deploy之前,您需要安装gh-pages,运行:
npm install --save-dev gh-pages
然后
npm run deploy
答案 4 :(得分:0)
可能是路径问题,对于Windows用户而言,通常尝试使用cmd而不是* nix终端。尝试退出并输入cmd(如果尚未输入)。之后,您应该确保它可以访问gh-pages
软件包。
此外,您可能还会查看similar question的答案。并按照requirements中的说明,确保您的git版本> = 1.9。
答案 5 :(得分:0)
我将项目复制到了错误的部分。就我而言,我的 dependencies
位于 scripts
上方,并且我在 dependencies
部分放置了两个脚本,就像钱一样。将它们移到正确的位置为我解决了这个问题。
提示:确保您的脚本没有放在错误的部分。