You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eleventy’s server (--serve) fails to launch when --input is the current directory and --output is a directory in the parent directory. (Compilation – i.e., write() – and --watch succeed.)
In this particular instance, the failure (see debug log) appears to be because scandir is trying to scan all the folders in the parent directory and it doesn’t have privileges to do so (and it shouldn’t be anyway).
To Reproduce
Install Eleventy.
npm i -g @11ty/eleventy`
Create a new parent directory and change the current working directory to it.
Eleventy should compile the source in ./ and output it to /.eleventy-base-blog-site.
What actually happens
The following error is triggered (compiler output truncated; full debug output at end):
…
Writing ../eleventy-base-blog-site/tags/another-tag/index.html from ./tags.njk.
Copied 2 items / Wrote 16 files in 0.24 seconds (15.0ms each, v0.10.0)
Watching…
[Browsersync] Access URLs:
-----------------------------------
Local: http://localhost:8080
External: http://192.168.2.134:8080
-----------------------------------
[Browsersync] Serving files from: ../eleventy-base-blog-site
Uncaught exception: (more in DEBUG output)
> ENOENT: no such file or directory, open '_site/404.html'`Error` was thrown:
Error: ENOENT: no such file or directory, open '_site/404.html'
at Object.openSync (fs.js:440:3)
at Object.readFileSync (fs.js:342:35)
at Object.ready (/home/aral/empty-sandbox/eleventy-base-blog/.eleventy.js:57:32)
at BrowserSync.callback (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:51:12)
at /home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:228:12
at /home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/utils.js:278:21
at executeTask (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:136:13)
at Object.initUserPlugins [as fn] (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/async.js:294:9)
at /home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:120:14
at iterate (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/utils.js:269:9)
Environment:
OS and Version: Pop!_OS 19.10 (based on Ubuntu 19.10)
Eleventy Version: 0.10.0
Additional context
Full debug output (sans timings):
Eleventy:UserConfig Resetting EleventyConfig to initial values. +0ms
Eleventy:Config Setting up global TemplateConfig. +0ms
Eleventy:UserConfig Adding universal filter 'slug' +3ms
Eleventy:UserConfig Adding universal filter 'url' +1ms
Eleventy:TemplateConfig rootConfig { templateFormats: [ 'liquid', 'ejs', 'md', 'hbs', 'mustache', 'haml', 'pug', 'njk', 'html', 'jstl', '11ty.js' ], pathPrefix: '/', markdownTemplateEngine: 'liquid', htmlTemplateEngine: 'liquid', dataTemplateEngine: 'liquid', passthroughFileCopy: true, htmlOutputSuffix: '-o', jsDataFileSuffix: '.11tydata', keys: { package: 'pkg', layout: 'layout', permalink: 'permalink', permalinkRoot: 'permalinkBypassOutputDir', engineOverride: 'templateEngineOverride' }, dir: { input: '.', includes: '_includes', data: '_data', output: '_site' }, filters: {}, handlebarsHelpers: {}, nunjucksFilters: {} } +0ms
Eleventy:TemplateConfig Merging config with /home/aral/empty-sandbox/eleventy-base-blog/.eleventy.js +2ms
Eleventy:UserConfig Adding plugin (unknown name: check your config file). +37ms
Eleventy:UserConfig Adding plugin (unknown name: check your config file). +0ms
Eleventy:UserConfig Adding plugin (unknown name: check your config file). +0ms
Eleventy:UserConfig Adding universal filter 'readableDate' +0ms
Eleventy:UserConfig Adding universal filter 'htmlDateString' +0ms
Eleventy:UserConfig Adding universal filter 'head' +0ms
Eleventy:TemplateConfig localConfig: { templateFormats: [ 'md', 'njk', 'html', 'liquid' ], markdownTemplateEngine: 'liquid', htmlTemplateEngine: 'njk', dataTemplateEngine: 'njk', dir: { input: '.', includes: '_includes', data: '_data', output: '_site' }, filters: {}, linters: {}, layoutAliases: { post: 'layouts/post.njk' }, passthroughCopies: { img: true, css: true }, liquidOptions: {}, liquidTags: { highlight: [Function] }, liquidFilters: { slug: [Function], url: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, liquidShortcodes: {}, liquidPairedShortcodes: {}, nunjucksFilters: { slug: [Function], url: [Function], rssLastUpdatedDate: [Function], rssDate: [Function], absoluteUrl: [Function], eleventyNavigation: [Function], eleventyNavigationBreadcrumb: [Function], eleventyNavigationToHtml: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, nunjucksAsyncFilters: { htmlToAbsoluteUrls: [Function] }, nunjucksTags: {}, nunjucksAsyncShortcodes: {}, nunjucksShortcodes: {}, nunjucksAsyncPairedShortcodes: {}, nunjucksPairedShortcodes: { highlight: [Function] }, handlebarsHelpers: { slug: [Function], url: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, handlebarsShortcodes: {}, handlebarsPairedShortcodes: {}, javascriptFunctions: { slug: [Function], url: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, pugOptions: {}, ejsOptions: {}, markdownHighlighter: [Function], libraryOverrides: { md: MarkdownIt { inline: [ParserInline], block: [ParserBlock], core: [Core], renderer: [Renderer], linkify: [LinkifyIt], validateLink: [Function: validateLink], normalizeLink: [Function: normalizeLink], normalizeLinkText: [Function: normalizeLinkText], utils: [Object], helpers: [Object], options: [Object] } }, dynamicPermalinks: true, useGitIgnore: true, dataDeepMerge: true, experiments: Set {}, watchJavaScriptDependencies: true, additionalWatchTargets: [], browserSyncConfig: { callbacks: { ready: [Function: ready] }, ui: false, ghostMode: false }, frontMatterParsingOptions: undefined, dataExtensions: Map {}, quietMode: false } +39ms
Eleventy:TemplateConfig overrides: {} +1ms
Eleventy:TemplateConfig Current configuration: { templateFormats: [ 'md', 'njk', 'html', 'liquid' ], pathPrefix: '/', markdownTemplateEngine: 'liquid', htmlTemplateEngine: 'njk', dataTemplateEngine: 'njk', passthroughFileCopy: true, htmlOutputSuffix: '-o', jsDataFileSuffix: '.11tydata', keys: { package: 'pkg', layout: 'layout', permalink: 'permalink', permalinkRoot: 'permalinkBypassOutputDir', engineOverride: 'templateEngineOverride' }, dir: { input: '.', includes: '_includes', data: '_data', output: '_site' }, filters: {}, handlebarsHelpers: { slug: [Function], url: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, nunjucksFilters: { slug: [Function], url: [Function], rssLastUpdatedDate: [Function], rssDate: [Function], absoluteUrl: [Function], eleventyNavigation: [Function], eleventyNavigationBreadcrumb: [Function], eleventyNavigationToHtml: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, linters: {}, layoutAliases: { post: 'layouts/post.njk' }, passthroughCopies: { img: true, css: true }, liquidOptions: {}, liquidTags: { highlight: [Function] }, liquidFilters: { slug: [Function], url: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, liquidShortcodes: {}, liquidPairedShortcodes: {}, nunjucksAsyncFilters: { htmlToAbsoluteUrls: [Function] }, nunjucksTags: {}, nunjucksAsyncShortcodes: {}, nunjucksShortcodes: {}, nunjucksAsyncPairedShortcodes: {}, nunjucksPairedShortcodes: { highlight: [Function] }, handlebarsShortcodes: {}, handlebarsPairedShortcodes: {}, javascriptFunctions: { slug: [Function], url: [Function], readableDate: [Function], htmlDateString: [Function], head: [Function] }, pugOptions: {}, ejsOptions: {}, markdownHighlighter: [Function], libraryOverrides: { md: MarkdownIt { inline: [ParserInline], block: [ParserBlock], core: [Core], renderer: [Renderer], linkify: [LinkifyIt], validateLink: [Function: validateLink], normalizeLink: [Function: normalizeLink], normalizeLinkText: [Function: normalizeLinkText], utils: [Object], helpers: [Object], options: [Object] } }, dynamicPermalinks: true, useGitIgnore: true, dataDeepMerge: true, experiments: Set {}, watchJavaScriptDependencies: true, additionalWatchTargets: [], browserSyncConfig: { callbacks: { ready: [Function: ready] }, ui: false, ghostMode: false }, frontMatterParsingOptions: undefined, dataExtensions: Map {}, quietMode: false } +1ms
Eleventy:CommandCheck command: eleventy --input=. --output=../eleventy-base-blog-site --serve +0ms
Eleventy:TemplatePassthroughManager Resetting counts to 0 +0ms
Eleventy:EleventyFiles /home/aral/empty-sandbox/eleventy-base-blog/.gitignore ignoring: !./_site +0ms
Eleventy:EleventyFiles /home/aral/empty-sandbox/eleventy-base-blog/.gitignore ignoring: !./node_modules/** +0ms
Eleventy:EleventyFiles /home/aral/empty-sandbox/eleventy-base-blog/.gitignore ignoring: !./package-lock.json +0ms
Eleventy:EleventyFiles /home/aral/empty-sandbox/eleventy-base-blog/.eleventyignore ignoring: !./README.md +0ms
Eleventy:EleventyFiles /home/aral/empty-sandbox/eleventy-base-blog/.eleventyignore ignoring: !./_11ty/** +0ms
Eleventy Directories:
Eleventy Input: .
Eleventy Data: _data
Eleventy Includes: _includes
Eleventy Layouts: undefined
Eleventy Output: ../eleventy-base-blog-site
Eleventy Template Formats: md,njk,html,liquid
Eleventy Verbose Output: false +0ms
Eleventy:TemplateData Found global data file ./_data/metadata.json and adding as: metadata +0ms
Eleventy:EleventyFiles Searching for: [ './**/*.md', './**/*.njk', './**/*.html', './**/*.liquid', '!./_site', '!./node_modules/**', '!./package-lock.json', '!./README.md', '!./_11ty/**', '!../eleventy-base-blog-site/**', '!./_includes/**', '!./_data/**' ] +109ms
Eleventy:TemplateWriter Found: [ './404.md', './archive.njk', './index.njk', './page-list.njk', './sitemap.xml.njk', './tags-list.njk', './tags.njk', './about/index.md', './feed/feed.njk', './feed/htaccess.njk', './posts/firstpost.md', './posts/fourthpost.md', './posts/secondpost.md', './posts/thirdpost.md' ] +0ms
Eleventy:TemplatePassthroughManager TemplatePassthrough copy started. +115ms
Eleventy:TemplatePassthroughManager `passthroughFileCopy` config paths: { img: true, css: true } +0ms
Eleventy:TemplatePassthroughManager `passthroughFileCopy` config normalized paths: [ { inputPath: './img', outputPath: true }, { inputPath: './css', outputPath: true } ] +0ms
Eleventy:TemplatePassthroughManager TemplatePassthrough copying from config: [object Object] +0ms
Eleventy:TemplatePassthrough Copying './img' +0ms
Eleventy:TemplatePassthroughManager TemplatePassthrough copying from config: [object Object] +1ms
Eleventy:TemplatePassthrough Copying './css' +1ms
Eleventy:TemplateData Using '.11tydata' to find data files. +107ms
Eleventy:TemplateData getLocalDataPaths('./404.md'): [ './404.11tydata.js', './404.11tydata.json', './404.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +1ms
Eleventy:TemplateData getLocalDataPaths('./archive.njk'): [ './archive.11tydata.js', './archive.11tydata.json', './archive.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./index.njk'): [ './index.11tydata.js', './index.11tydata.json', './index.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./page-list.njk'): [ './page-list.11tydata.js', './page-list.11tydata.json', './page-list.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./sitemap.xml.njk'): [ './sitemap.xml.11tydata.js', './sitemap.xml.11tydata.json', './sitemap.xml.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +1ms
Eleventy:TemplateData getLocalDataPaths('./tags-list.njk'): [ './tags-list.11tydata.js', './tags-list.11tydata.json', './tags-list.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./tags.njk'): [ './tags.11tydata.js', './tags.11tydata.json', './tags.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./about/index.md'): [ './about/index.11tydata.js', './about/index.11tydata.json', './about/index.json', './about/about.11tydata.js', './about/about.11tydata.json', './about/about.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./feed/feed.njk'): [ './feed/feed.11tydata.js', './feed/feed.11tydata.json', './feed/feed.json', './feed/feed.11tydata.js', './feed/feed.11tydata.json', './feed/feed.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./feed/htaccess.njk'): [ './feed/htaccess.11tydata.js', './feed/htaccess.11tydata.json', './feed/htaccess.json', './feed/feed.11tydata.js', './feed/feed.11tydata.json', './feed/feed.json' ] +1ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./posts/firstpost.md'): [ './posts/firstpost.11tydata.js', './posts/firstpost.11tydata.json', './posts/firstpost.json', './posts/posts.11tydata.js', './posts/posts.11tydata.json', './posts/posts.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./posts/fourthpost.md'): [ './posts/fourthpost.11tydata.js', './posts/fourthpost.11tydata.json', './posts/fourthpost.json', './posts/posts.11tydata.js', './posts/posts.11tydata.json', './posts/posts.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./posts/secondpost.md'): [ './posts/secondpost.11tydata.js', './posts/secondpost.11tydata.json', './posts/secondpost.json', './posts/posts.11tydata.js', './posts/posts.11tydata.json', './posts/posts.json' ] +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +0ms
Eleventy:TemplateData getLocalDataPaths('./posts/thirdpost.md'): [ './posts/thirdpost.11tydata.js', './posts/thirdpost.11tydata.json', './posts/thirdpost.json', './posts/posts.11tydata.js', './posts/posts.11tydata.json', './posts/posts.json' ] +0ms
Eleventy:Template getMappedDate: using file created timefor'./sitemap.xml.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +0ms
Eleventy:TemplateWriter ./sitemap.xml.njk added to map. +49ms
Eleventy:Template getMappedDate: using file created timefor'./feed/feed.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +0ms
Eleventy:TemplateWriter ./feed/feed.njk added to map. +0ms
Eleventy:Template getMappedDate: using file created timefor'./feed/htaccess.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +5ms
Eleventy:TemplateWriter ./feed/htaccess.njk added to map. +5ms
Eleventy:TemplatePassthroughManager Copied './img' +57ms
Eleventy:Template getMappedDate: using file created timefor'./archive.njk' of 2020-02-15T12:27:23.579Z (from 1581769643579.9038) +6ms
Eleventy:TemplateWriter ./archive.njk added to map. +6ms
Eleventy:Template getMappedDate: using file created timefor'./404.md' of 2020-02-15T12:27:23.579Z (from 1581769643579.9038) +0ms
Eleventy:TemplateWriter ./404.md added to map. +1ms
Eleventy:Template getMappedDate: using file created timefor'./index.njk' of 2020-02-15T12:27:23.579Z (from 1581769643579.9038) +1ms
Eleventy:TemplateWriter ./index.njk added to map. +0ms
Eleventy:Template getMappedDate: using file created timefor'./page-list.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +0ms
Eleventy:TemplateWriter ./page-list.njk added to map. +0ms
Eleventy:Template getMappedDate: using file created timefor'./tags-list.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +0ms
Eleventy:TemplateWriter ./tags-list.njk added to map. +0ms
Eleventy:TemplatePassthroughManager Copied './css' +4ms
Eleventy:TemplatePassthroughManager TemplatePassthrough copy finished. Current count: 2 +0ms
Eleventy:Template getMappedDate: using file created timefor'./tags.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +1ms
Eleventy:TemplateWriter ./tags.njk added to map. +1ms
Eleventy:Template getMappedDate: using a date in the data for'./posts/firstpost.md' of 2018-05-01T00:00:00.000Z +1ms
Eleventy:Template getMappedDate: YAML parsed it: 2018-05-01T00:00:00.000Z +0ms
Eleventy:TemplateWriter ./posts/firstpost.md added to map. +1ms
Eleventy:Template getMappedDate: using a date in the data for'./posts/fourthpost.md' of 2018-09-30T00:00:00.000Z +0ms
Eleventy:Template getMappedDate: YAML parsed it: 2018-09-30T00:00:00.000Z +0ms
Eleventy:TemplateWriter ./posts/fourthpost.md added to map. +0ms
Eleventy:Template getMappedDate: using a date in the data for'./posts/secondpost.md' of 2018-07-04T00:00:00.000Z +0ms
Eleventy:Template getMappedDate: YAML parsed it: 2018-07-04T00:00:00.000Z +0ms
Eleventy:TemplateWriter ./posts/secondpost.md added to map. +0ms
Eleventy:Template getMappedDate: using a date in the data for'./posts/thirdpost.md' of 2018-08-24T00:00:00.000Z +1ms
Eleventy:Template getMappedDate: YAML parsed it: 2018-08-24T00:00:00.000Z +0ms
Eleventy:TemplateWriter ./posts/thirdpost.md added to map. +1ms
Eleventy:Template getMappedDate: using file created timefor'./about/index.md' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +0ms
Eleventy:TemplateWriter ./about/index.md added to map. +0ms
Eleventy:TemplateMap Caching collections objects. +0ms
Eleventy:Template Rendering permalink for'./archive.njk': /posts/ becomes '/posts/' +2ms
Eleventy:Template Rendering permalink for'./archive.njk': /posts/ becomes '/posts/' +1ms
Eleventy:Template Rendering permalink for'./tags-list.njk': /tags/ becomes '/tags/' +1ms
Eleventy:Template Rendering permalink for'./tags-list.njk': /tags/ becomes '/tags/' +1ms
Eleventy:TemplateMap Collection: collections.all size: 8 +6ms
Eleventy:Template Rendering permalink for'./sitemap.xml.njk': /sitemap.xml becomes '/sitemap.xml' +1ms
Eleventy:Template Rendering permalink for'./sitemap.xml.njk': /sitemap.xml becomes '/sitemap.xml' +1ms
Eleventy:Template Rendering permalink for'./feed/feed.njk': feed/feed.xml becomes 'feed/feed.xml' +0ms
Eleventy:Template Rendering permalink for'./feed/feed.njk': feed/feed.xml becomes 'feed/feed.xml' +1ms
Eleventy:Template Rendering permalink for'./feed/htaccess.njk': feed/.htaccess becomes 'feed/.htaccess' +1ms
Eleventy:Template Rendering permalink for'./feed/htaccess.njk': feed/.htaccess becomes 'feed/.htaccess' +1ms
Eleventy:Template Rendering permalink for'./404.md': 404.html becomes '404.html' +14ms
Eleventy:Template Rendering permalink for'./404.md': 404.html becomes '404.html' +2ms
Eleventy:TemplateMap Collection: collections.posts size: 4 +20ms
Eleventy:TemplateMap Collection: collections.another-tag size: 1 +0ms
Eleventy:TemplateMap Collection: collections.second-tag size: 2 +0ms
Eleventy:TemplateMap Collection: collections.number-2 size: 1 +0ms
Eleventy:TemplateMap Collection: collections.all size: 8 +0ms
Eleventy:TemplateMap Collection: collections.tagList size: 3 +1ms
Eleventy:TemplateData Using '.11tydata' to find data files. +87ms
Eleventy:TemplateData getLocalDataPaths('./tags.njk'): [ './tags.11tydata.js', './tags.11tydata.json', './tags.json' ] +0ms
Eleventy:Template getMappedDate: using file created timefor'./tags.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +3ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/another-tag/' +2ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/another-tag/' +0ms
Eleventy:TemplateData Using '.11tydata' to find data files. +4ms
Eleventy:TemplateData getLocalDataPaths('./tags.njk'): [ './tags.11tydata.js', './tags.11tydata.json', './tags.json' ] +0ms
Eleventy:Template getMappedDate: using file created timefor'./tags.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +2ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/second-tag/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/second-tag/' +1ms
Eleventy:TemplateData Using '.11tydata' to find data files. +3ms
Eleventy:TemplateData getLocalDataPaths('./tags.njk'): [ './tags.11tydata.js', './tags.11tydata.json', './tags.json' ] +1ms
Eleventy:Template getMappedDate: using file created timefor'./tags.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +4ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/number-2/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/number-2/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/another-tag/' +2ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/another-tag/' +1ms
Eleventy:Template rendering data.renderData for'./tags.njk' +0ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/another-tag/' +6ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/another-tag/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/second-tag/' +2ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/second-tag/' +1ms
Eleventy:Template rendering data.renderData for'./tags.njk' +0ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/second-tag/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/second-tag/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/number-2/' +2ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/number-2/' +1ms
Eleventy:Template rendering data.renderData for'./tags.njk' +0ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/number-2/' +1ms
Eleventy:Template Rendering permalink for'./tags.njk': /tags/{{ tag }}/ becomes '/tags/number-2/' +1ms
Eleventy:TemplateMap Collection: collections.all size: 11 +34ms
Eleventy:TemplateData Using '.11tydata' to find data files. +27ms
Eleventy:TemplateData getLocalDataPaths('./page-list.njk'): [ './page-list.11tydata.js', './page-list.11tydata.json', './page-list.json' ] +0ms
Eleventy:Template getMappedDate: using file created timefor'./page-list.njk' of 2020-02-15T12:27:23.583Z (from 1581769643583.9038) +4ms
Eleventy:Template Rendering permalink for'./page-list.njk': /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %} becomes '/page-list/' +4ms
Eleventy:Template Rendering permalink for'./page-list.njk': /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %} becomes '/page-list/' +3ms
Eleventy:Template Rendering permalink for'./page-list.njk': /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %} becomes '/page-list/' +1ms
Eleventy:Template Rendering permalink for'./page-list.njk': /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %} becomes '/page-list/' +1ms
Eleventy:Template Rendering permalink for'./page-list.njk': /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %} becomes '/page-list/' +2ms
Eleventy:Template Rendering permalink for'./page-list.njk': /page-list/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %} becomes '/page-list/' +1ms
Eleventy:TemplateMap Collection: collections.all size: 12 +17ms
Eleventy:TemplateWriter Template map created. +156ms
Eleventy:Template Writing '../eleventy-base-blog-site/sitemap.xml' from './sitemap.xml.njk'. +80ms
Eleventy:Template Writing '../eleventy-base-blog-site/feed/feed.xml' from './feed/feed.njk'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/feed/.htaccess' from './feed/htaccess.njk'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/posts/index.html' from './archive.njk'. +56ms
Eleventy:Template Writing '../eleventy-base-blog-site/404.html' from './404.md'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/index.html' from './index.njk'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/page-list/index.html' from './page-list.njk'. +1ms
Eleventy:Template Writing '../eleventy-base-blog-site/tags/index.html' from './tags-list.njk'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/tags/another-tag/index.html' from './tags.njk'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/posts/firstpost/index.html' from './posts/firstpost.md'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/posts/fourthpost/index.html' from './posts/fourthpost.md'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/posts/secondpost/index.html' from './posts/secondpost.md'. +1ms
Eleventy:Template Writing '../eleventy-base-blog-site/posts/thirdpost/index.html' from './posts/thirdpost.md'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/about/index.html' from './about/index.md'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/tags/second-tag/index.html' from './tags.njk'. +0ms
Eleventy:Template Writing '../eleventy-base-blog-site/tags/number-2/index.html' from './tags.njk'. +1ms
Eleventy:Template ../eleventy-base-blog-site/feed/.htaccess written.. +1ms
Eleventy:Template ../eleventy-base-blog-site/sitemap.xml written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/feed/feed.xml written.. +1ms
Eleventy:Template ../eleventy-base-blog-site/posts/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/404.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/tags/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/page-list/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/tags/another-tag/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/posts/fourthpost/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/posts/firstpost/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/posts/secondpost/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/posts/thirdpost/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/about/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/tags/second-tag/index.html written.. +0ms
Eleventy:Template ../eleventy-base-blog-site/tags/number-2/index.html written.. +0ms
Copied 2 items / Wrote 16 files in 0.40 seconds (25.0ms each, v0.10.0)
Eleventy Finished writing templates. +396ms
Eleventy
Eleventy Getting frustrated? Have a suggestion/feature request/feedback?
Eleventy I want to hear it! Open an issue: https://github.com/11ty/eleventy/issues/new +0ms
Eleventy:TemplatePassthroughManager `passthroughFileCopy` config paths: { img: true, css: true } +221ms
Eleventy:TemplatePassthroughManager `passthroughFileCopy` config normalized paths: [ { inputPath: './img', outputPath: true }, { inputPath: './css', outputPath: true } ] +0ms
Eleventy Watching for changes to: [ './**/*.md', './**/*.njk', './**/*.html', './**/*.liquid', './_includes/**', './_data/**', './img/**', './css/**', './.eleventy.js', './**/*.json', './**/*.11tydata.js', './_11ty/getTagList.js' ] +4ms
Eleventy Ignoring watcher changes to: [ '_site', 'node_modules/**', 'package-lock.json', 'README.md', '_11ty/**', '../eleventy-base-blog-site/**' ] +0ms
Watching…
[Browsersync] Access URLs:
-----------------------------------
Local: http://localhost:8080
External: http://192.168.2.134:8080
-----------------------------------
[Browsersync] Serving files from: ../eleventy-base-blog-site
Eleventy:EleventyErrorHandler Uncaught exception: +0ms
Eleventy:EleventyErrorHandler ENOENT: no such file or directory, open '_site/404.html'
Eleventy:EleventyErrorHandler
Eleventy:EleventyErrorHandler `Error` was thrown: +0ms
Eleventy:EleventyErrorHandler (error stack): Error: ENOENT: no such file or directory, open '_site/404.html'
Eleventy:EleventyErrorHandler at Object.openSync (fs.js:440:3)
Eleventy:EleventyErrorHandler at Object.readFileSync (fs.js:342:35)
Eleventy:EleventyErrorHandler at Object.ready (/home/aral/empty-sandbox/eleventy-base-blog/.eleventy.js:57:32)
Eleventy:EleventyErrorHandler at BrowserSync.callback (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:51:12)
Eleventy:EleventyErrorHandler at /home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:228:12
Eleventy:EleventyErrorHandler at /home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/utils.js:278:21
Eleventy:EleventyErrorHandler at executeTask (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:136:13)
Eleventy:EleventyErrorHandler at Object.initUserPlugins [as fn] (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/async.js:294:9)
Eleventy:EleventyErrorHandler at /home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/browser-sync.js:120:14
Eleventy:EleventyErrorHandler at iterate (/home/aral/.nvm/versions/node/v12.14.1/lib/node_modules/@11ty/eleventy/node_modules/browser-sync/dist/utils.js:269:9) +0ms
^C Eleventy Cleaning up chokidar and browsersync (if exists) instances. +3s
The text was updated successfully, but these errors were encountered:
Eleventy’s server (
--serve
) fails to launch when--input
is the current directory and--output
is a directory in the parent directory. (Compilation – i.e.,write()
– and--watch
succeed.)In this particular instance, the failure (see debug log) appears to be because
scandir
is trying to scan all the folders in the parent directory and it doesn’t have privileges to do so (and it shouldn’t be anyway).To Reproduce
Install Eleventy.
npm i -g @11ty/eleventy`
Create a new parent directory and change the current working directory to it.
mkdir parent-dir cd parent-dir
Clone the base blog example.
Change to the base blog example’s directory and install its dependencies
cd eleventy-base-blog npm i
Run Eleventy.
What should happen
Eleventy should compile the source in ./ and output it to /.eleventy-base-blog-site.
What actually happens
The following error is triggered (compiler output truncated; full debug output at end):
Environment:
Additional context
Full debug output (sans timings):
The text was updated successfully, but these errors were encountered: