Describe the issue that you're seeing.
I cannot deploy or build my website to GitHub Pages.
Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue _much_ easier to diagnose (seriously).
Repo: https://github.com/cluzier/cluzier.github.io
if you check out my Gatsby-config.js file and search for 'serialize' I know that the error is resulting because of something around that area.
What should happen?
I am trying to run npm run deploy or npm run build but it does not, I expect it to deploy to my GitHub repo (I want to host on GitHub)
What happened.
`error Plugin gatsby-plugin-sitemap returned an error
Error: URL is required
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: yarn run clean && gatsby build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
`
Run gatsby info --clipboard in your project directory and paste the output here.
System:
OS: macOS 10.14.4
CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 11.14.0 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Languages:
Python: 2.7.16 - /usr/local/bin/python
Browsers:
Chrome: 73.0.3683.103
Safari: 12.1
npmPackages:
gatsby: ^2.3.14 => 2.3.25
gatsby-link: ^2.0.16 => 2.0.16
gatsby-plugin-catch-links: ^2.0.13 => 2.0.13
gatsby-plugin-feed: ^2.1.0 => 2.1.1
gatsby-plugin-flow: ^1.0.4 => 1.0.4
gatsby-plugin-google-gtag: ^1.0.16 => 1.0.16
gatsby-plugin-manifest: ^2.0.26 => 2.0.29
gatsby-plugin-netlify: ^2.0.13 => 2.0.14
gatsby-plugin-netlify-cms: ^3.0.17 => 3.0.18
gatsby-plugin-offline: ^2.0.25 => 2.0.25
gatsby-plugin-react-helmet: ^3.0.12 => 3.0.12
gatsby-plugin-sass: ^2.0.11 => 2.0.11
gatsby-plugin-sharp: ^2.0.32 => 2.0.35
gatsby-plugin-sitemap: ^2.0.11 => 2.0.12
gatsby-remark-autolink-headers: ^2.0.16 => 2.0.16
gatsby-remark-copy-linked-files: ^2.0.11 => 2.0.11
gatsby-remark-images: ^3.0.10 => 3.0.10
gatsby-remark-katex: ^3.0.4 => 3.0.4
gatsby-remark-prismjs: ^3.2.7 => 3.2.8
gatsby-remark-relative-images: ^0.2.2 => 0.2.2
gatsby-remark-responsive-iframe: ^2.1.1 => 2.1.1
gatsby-remark-smartypants: ^2.0.9 => 2.0.9
gatsby-source-filesystem: ^2.0.28 => 2.0.29
gatsby-transformer-remark: ^2.3.8 => 2.3.8
gatsby-transformer-sharp: ^2.1.17 => 2.1.18
npmGlobalPackages:
gatsby-cli: 2.5.9
Did you set siteURL in your site metadata?
Did you set
siteURLin your site metadata?
yes I did
Not really sure what the problem is — does the site build without gatsby-plugin-sitemap?
The site runs locally but when I try to either npm run build or deploy it gives me the same error:
```error Plugin gatsby-plugin-sitemap returned an error
Error: URL is required
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] deploy: yarn run clean && gatsby build --prefix-paths && gh-pages -d public
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.
```
The issue is that the serialize option requires a normalized structure containing _url_ not siteUrl.
This is the corrected gatsby-config.js.
Please re-open if I was off base or can help further. Thanks!
const siteConfig = require('./config.js');
const postCssPlugins = require('./postcss-config.js');
module.exports = {
siteMetadata: {
url: siteConfig.url,
title: siteConfig.title,
subtitle: siteConfig.subtitle,
copyright: siteConfig.copyright,
disqusShortname: siteConfig.disqusShortname,
menu: siteConfig.menu,
author: siteConfig.author,
siteUrl: siteConfig.url,
},
pathPrefix: "/cluzier.github.io",
plugins: [
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/content`,
name: 'pages'
}
},
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/static/media`,
name: 'media'
}
},
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'assets',
path: `${__dirname}/static`
}
},
{
resolve: 'gatsby-plugin-feed',
options: {
query: `
{
site {
siteMetadata {
site_url: url
title
description: subtitle
}
}
}
`,
feeds: [{
serialize: ({ query: { site, allMarkdownRemark } }) => (
allMarkdownRemark.edges.map((edge) => Object.assign({}, edge.node.frontmatter, {
description: edge.node.frontmatter.description,
date: edge.node.frontmatter.date,
siteUrl: site.siteMetadata.site_url + edge.node.fields.slug,
guid: site.siteMetadata.site_url + edge.node.fields.slug,
custom_elements: [{ 'content:encoded': edge.node.html }]
}))
),
query: `
{
allMarkdownRemark(
limit: 1000,
sort: { order: DESC, fields: [frontmatter___date] },
filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
) {
edges {
node {
html
fields {
slug
}
frontmatter {
title
date
template
draft
description
}
}
}
}
}
`,
output: '/rss.xml'
}]
}
},
{
resolve: 'gatsby-transformer-remark',
options: {
plugins: [
{
resolve: 'gatsby-remark-katex',
options: {
strict: 'ignore'
}
},
{
resolve: 'gatsby-remark-images',
options: { maxWidth: 960 }
},
{
resolve: 'gatsby-remark-responsive-iframe',
options: { wrapperStyle: 'margin-bottom: 1.0725rem' }
},
'gatsby-remark-autolink-headers',
'gatsby-remark-prismjs',
'gatsby-remark-copy-linked-files',
'gatsby-remark-smartypants'
]
}
},
'gatsby-transformer-sharp',
'gatsby-plugin-sharp',
'gatsby-plugin-netlify',
{
resolve: 'gatsby-plugin-netlify-cms',
options: {
modulePath: `${__dirname}/src/cms/cms.js`,
}
},
{
resolve: 'gatsby-plugin-google-gtag',
options: {
trackingIds: [siteConfig.googleAnalyticsId],
pluginConfig: {
head: true,
},
},
},
{
resolve: 'gatsby-plugin-sitemap',
options: {
query: `
{
site {
siteMetadata {
siteUrl
}
}
allSitePage(
filter: {
path: { regex: "/^(?!/404/|/404.html|/dev-404-page/)/" }
}
) {
edges {
node {
path
}
}
}
}
`,
output: '/sitemap.xml',
serialize: ({ site, allSitePage }) => allSitePage.edges.map((edge) => ({
url: site.siteMetadata.siteUrl + edge.node.path,
changefreq: 'daily',
priority: 0.7
}))
}
},
{
resolve: 'gatsby-plugin-manifest',
options: {
name: siteConfig.title,
short_name: siteConfig.title,
start_url: '/',
background_color: '#FFF',
theme_color: '#F7A046',
display: 'standalone',
icon: 'static/photo.png'
},
},
'gatsby-plugin-offline',
'gatsby-plugin-catch-links',
'gatsby-plugin-react-helmet',
{
resolve: 'gatsby-plugin-sass',
options: {
postCssPlugins: [...postCssPlugins],
cssLoaderOptions: {
camelCase: false,
}
}
},
'gatsby-plugin-flow',
]
};
Thank you very much!
Most helpful comment
The issue is that the serialize option requires a normalized structure containing _url_ not siteUrl.
This is the corrected gatsby-config.js.
Please re-open if I was off base or can help further. Thanks!