在Github页面上做出反应:gh-pages包无效

时间:2018-04-15 18:57:39

标签: reactjs visual-studio-code windows-10 github-pages

问题

我正在尝试将我的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 命令的人。

6 个答案:

答案 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文件

自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 部分放置了两个脚本,就像钱一样。将它们移到正确的位置为我解决了这个问题。

提示:确保您的脚本没有放在错误的部分。