hexojs / hexo

A fast, simple & powerful blog framework, powered by Node.js.
https://hexo.io
MIT License
39.46k stars 4.85k forks source link

Issue with npm install hexo. post.js in generator is not the latest version. #2474

Closed Seraphli closed 7 years ago

Seraphli commented 7 years ago

Environment Info

Node version(node -v)

v6.10.1

Plugin version(npm ls --depth 0)

hexo-site@0.0.0 /home/seraphli/Blog
├── abab@1.0.3 -> /home/seraphli/Blog/node_modules/.1.0.3@abab extraneous
├── abbrev@1.1.0 -> /home/seraphli/Blog/node_modules/.1.1.0@abbrev extraneous
├── accepts@1.3.3 -> /home/seraphli/Blog/node_modules/.1.3.3@accepts extraneous
├── acorn@2.7.0 -> /home/seraphli/Blog/node_modules/.2.7.0@acorn extraneous
├── acorn-globals@1.0.9 -> /home/seraphli/Blog/node_modules/.1.0.9@acorn-globals extraneous
├── after@0.8.2 -> /home/seraphli/Blog/node_modules/.0.8.2@after extraneous
├── ajv@4.11.5 -> /home/seraphli/Blog/node_modules/.4.11.5@ajv extraneous
├── amdefine@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@amdefine extraneous
├── ansi-regex@2.1.1 -> /home/seraphli/Blog/node_modules/.2.1.1@ansi-regex extraneous
├── ansi-styles@2.2.1 -> /home/seraphli/Blog/node_modules/.2.2.1@ansi-styles extraneous
├── anymatch@1.3.0 -> /home/seraphli/Blog/node_modules/.1.3.0@anymatch extraneous
├── archy@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@archy extraneous
├── argparse@1.0.9 -> /home/seraphli/Blog/node_modules/.1.0.9@argparse extraneous
├── arr-diff@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@arr-diff extraneous
├── arr-flatten@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@arr-flatten extraneous
├── array-unique@0.2.1 -> /home/seraphli/Blog/node_modules/.0.2.1@array-unique extraneous
├── arraybuffer.slice@0.0.6 -> /home/seraphli/Blog/node_modules/.0.0.6@arraybuffer.slice extraneous
├── arrify@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@arrify extraneous
├── asap@2.0.5 -> /home/seraphli/Blog/node_modules/.2.0.5@asap extraneous
├── asn1@0.2.3 -> /home/seraphli/Blog/node_modules/.0.2.3@asn1 extraneous
├── assert-plus@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@assert-plus extraneous
├── async@0.2.10 -> /home/seraphli/Blog/node_modules/.0.2.10@async extraneous
├── async-each@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@async-each extraneous
├── asynckit@0.4.0 -> /home/seraphli/Blog/node_modules/.0.4.0@asynckit extraneous
├── aws-sign2@0.6.0 -> /home/seraphli/Blog/node_modules/.0.6.0@aws-sign2 extraneous
├── aws4@1.6.0 -> /home/seraphli/Blog/node_modules/.1.6.0@aws4 extraneous
├── backo2@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@backo2 extraneous
├── balanced-match@0.4.2 -> /home/seraphli/Blog/node_modules/.0.4.2@balanced-match extraneous
├── base64-arraybuffer@0.1.5 -> /home/seraphli/Blog/node_modules/.0.1.5@base64-arraybuffer extraneous
├── base64id@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@base64id extraneous
├── basic-auth@1.1.0 -> /home/seraphli/Blog/node_modules/.1.1.0@basic-auth extraneous
├── bcrypt-pbkdf@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@bcrypt-pbkdf extraneous
├── binary-extensions@1.8.0 -> /home/seraphli/Blog/node_modules/.1.8.0@binary-extensions extraneous
├── blob@0.0.4 -> /home/seraphli/Blog/node_modules/.0.0.4@blob extraneous
├── bluebird@3.5.0 -> /home/seraphli/Blog/node_modules/.3.5.0@bluebird extraneous
├── boolbase@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@boolbase extraneous
├── boom@2.10.1 -> /home/seraphli/Blog/node_modules/.2.10.1@boom extraneous
├── brace-expansion@1.1.6 -> /home/seraphli/Blog/node_modules/.1.1.6@brace-expansion extraneous
├── braces@1.8.5 -> /home/seraphli/Blog/node_modules/.1.8.5@braces extraneous
├── browser-fingerprint@0.0.1 -> /home/seraphli/Blog/node_modules/.0.0.1@browser-fingerprint extraneous
├── buffer-shims@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@buffer-shims extraneous
├── bunyan@1.8.9 -> /home/seraphli/Blog/node_modules/.1.8.9@bunyan extraneous
├── bytes@2.3.0 -> /home/seraphli/Blog/node_modules/.2.3.0@bytes extraneous
├── camel-case@3.0.0 -> /home/seraphli/Blog/node_modules/.3.0.0@camel-case extraneous
├── camelcase@2.1.1 -> /home/seraphli/Blog/node_modules/.2.1.1@camelcase extraneous
├── caseless@0.12.0 -> /home/seraphli/Blog/node_modules/.0.12.0@caseless extraneous
├── chalk@1.1.3 -> /home/seraphli/Blog/node_modules/.1.1.3@chalk extraneous
├── cheerio@0.20.0 -> /home/seraphli/Blog/node_modules/.0.20.0@cheerio extraneous
├── chokidar@1.6.1 -> /home/seraphli/Blog/node_modules/.1.6.1@chokidar extraneous
├── cliui@3.2.0 -> /home/seraphli/Blog/node_modules/.3.2.0@cliui extraneous
├── co@4.6.0 -> /home/seraphli/Blog/node_modules/.4.6.0@co extraneous
├── code-point-at@1.1.0 -> /home/seraphli/Blog/node_modules/.1.1.0@code-point-at extraneous
├── combined-stream@1.0.5 -> /home/seraphli/Blog/node_modules/.1.0.5@combined-stream extraneous
├── component-bind@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@component-bind extraneous
├── component-emitter@1.2.1 -> /home/seraphli/Blog/node_modules/.1.2.1@component-emitter extraneous
├── component-inherit@0.0.3 -> /home/seraphli/Blog/node_modules/.0.0.3@component-inherit extraneous
├── compressible@2.0.9 -> /home/seraphli/Blog/node_modules/.2.0.9@compressible extraneous
├── compression@1.6.2 -> /home/seraphli/Blog/node_modules/.1.6.2@compression extraneous
├── concat-map@0.0.1 -> /home/seraphli/Blog/node_modules/.0.0.1@concat-map extraneous
├── connect@3.6.0 -> /home/seraphli/Blog/node_modules/.3.6.0@connect extraneous
├── cookie@0.3.1 -> /home/seraphli/Blog/node_modules/.0.3.1@cookie extraneous
├── core-js@1.2.7 -> /home/seraphli/Blog/node_modules/.1.2.7@core-js extraneous
├── core-util-is@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@core-util-is extraneous
├── cross-spawn@4.0.2 -> /home/seraphli/Blog/node_modules/.4.0.2@cross-spawn extraneous
├── cryptiles@2.0.5 -> /home/seraphli/Blog/node_modules/.2.0.5@cryptiles extraneous
├── css-parse@1.7.0 -> /home/seraphli/Blog/node_modules/.1.7.0@css-parse extraneous
├── css-select@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@css-select extraneous
├── css-what@2.1.0 -> /home/seraphli/Blog/node_modules/.2.1.0@css-what extraneous
├── cssom@0.3.2 -> /home/seraphli/Blog/node_modules/.0.3.2@cssom extraneous
├── cssstyle@0.2.37 -> /home/seraphli/Blog/node_modules/.0.2.37@cssstyle extraneous
├── cuid@1.3.8 -> /home/seraphli/Blog/node_modules/.1.3.8@cuid extraneous
├── dashdash@1.14.1 -> /home/seraphli/Blog/node_modules/.1.14.1@dashdash extraneous
├── debug@2.6.3 -> /home/seraphli/Blog/node_modules/.2.6.3@debug extraneous
├── decamelize@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@decamelize extraneous
├── deep-is@0.1.3 -> /home/seraphli/Blog/node_modules/.0.1.3@deep-is extraneous
├── delayed-stream@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@delayed-stream extraneous
├── depd@1.1.0 -> /home/seraphli/Blog/node_modules/.1.1.0@depd extraneous
├── destroy@1.0.4 -> /home/seraphli/Blog/node_modules/.1.0.4@destroy extraneous
├── dom-serializer@0.1.0 -> /home/seraphli/Blog/node_modules/.0.1.0@dom-serializer extraneous
├── domelementtype@1.3.0 -> /home/seraphli/Blog/node_modules/.1.3.0@domelementtype extraneous
├── domhandler@2.3.0 -> /home/seraphli/Blog/node_modules/.2.3.0@domhandler extraneous
├── domutils@1.5.1 -> /home/seraphli/Blog/node_modules/.1.5.1@domutils extraneous
├── dtrace-provider@0.8.1 -> /home/seraphli/Blog/node_modules/.0.8.1@dtrace-provider extraneous
├── ecc-jsbn@0.1.1 -> /home/seraphli/Blog/node_modules/.0.1.1@ecc-jsbn extraneous
├── ee-first@1.1.1 -> /home/seraphli/Blog/node_modules/.1.1.1@ee-first extraneous
├── ejs@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@ejs extraneous
├── encodeurl@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@encodeurl extraneous
├── engine.io@1.8.3 -> /home/seraphli/Blog/node_modules/.1.8.3@engine.io extraneous
├── engine.io-client@1.8.3 -> /home/seraphli/Blog/node_modules/.1.8.3@engine.io-client extraneous
├── engine.io-parser@1.3.2 -> /home/seraphli/Blog/node_modules/.1.3.2@engine.io-parser extraneous
├── entities@1.1.1 -> /home/seraphli/Blog/node_modules/.1.1.1@entities extraneous
├── escape-html@1.0.3 -> /home/seraphli/Blog/node_modules/.1.0.3@escape-html extraneous
├── escape-string-regexp@1.0.5 -> /home/seraphli/Blog/node_modules/.1.0.5@escape-string-regexp extraneous
├── escodegen@1.8.1 -> /home/seraphli/Blog/node_modules/.1.8.1@escodegen extraneous
├── esprima@3.1.3 -> /home/seraphli/Blog/node_modules/.3.1.3@esprima extraneous
├── estraverse@1.9.3 -> /home/seraphli/Blog/node_modules/.1.9.3@estraverse extraneous
├── esutils@2.0.2 -> /home/seraphli/Blog/node_modules/.2.0.2@esutils extraneous
├── etag@1.8.0 -> /home/seraphli/Blog/node_modules/.1.8.0@etag extraneous
├── expand-brackets@0.1.5 -> /home/seraphli/Blog/node_modules/.0.1.5@expand-brackets extraneous
├── expand-range@1.8.2 -> /home/seraphli/Blog/node_modules/.1.8.2@expand-range extraneous
├── extend@3.0.0 -> /home/seraphli/Blog/node_modules/.3.0.0@extend extraneous
├── extglob@0.3.2 -> /home/seraphli/Blog/node_modules/.0.3.2@extglob extraneous
├── extsprintf@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@extsprintf extraneous
├── fast-levenshtein@2.0.6 -> /home/seraphli/Blog/node_modules/.2.0.6@fast-levenshtein extraneous
├── filename-regex@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@filename-regex extraneous
├── fill-range@2.2.3 -> /home/seraphli/Blog/node_modules/.2.2.3@fill-range extraneous
├── finalhandler@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@finalhandler extraneous
├── for-in@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@for-in extraneous
├── for-own@0.1.5 -> /home/seraphli/Blog/node_modules/.0.1.5@for-own extraneous
├── forever-agent@0.6.1 -> /home/seraphli/Blog/node_modules/.0.6.1@forever-agent extraneous
├── form-data@2.1.2 -> /home/seraphli/Blog/node_modules/.2.1.2@form-data extraneous
├── fresh@0.5.0 -> /home/seraphli/Blog/node_modules/.0.5.0@fresh extraneous
├── fs.realpath@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@fs.realpath extraneous
├── get-stdin@4.0.1 -> /home/seraphli/Blog/node_modules/.4.0.1@get-stdin extraneous
├── getpass@0.1.6 -> /home/seraphli/Blog/node_modules/.0.1.6@getpass extraneous
├── glob@7.0.6 -> /home/seraphli/Blog/node_modules/.7.0.6@glob extraneous
├── glob-base@0.3.0 -> /home/seraphli/Blog/node_modules/.0.3.0@glob-base extraneous
├── glob-parent@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@glob-parent extraneous
├── graceful-fs@4.1.11 -> /home/seraphli/Blog/node_modules/.4.1.11@graceful-fs extraneous
├── har-schema@1.0.5 -> /home/seraphli/Blog/node_modules/.1.0.5@har-schema extraneous
├── har-validator@4.2.1 -> /home/seraphli/Blog/node_modules/.4.2.1@har-validator extraneous
├── has-ansi@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@has-ansi extraneous
├── has-binary@0.1.7 -> /home/seraphli/Blog/node_modules/.0.1.7@has-binary extraneous
├── has-cors@1.1.0 -> /home/seraphli/Blog/node_modules/.1.1.0@has-cors extraneous
├── hawk@3.1.3 -> /home/seraphli/Blog/node_modules/.3.1.3@hawk extraneous
├── hexo@3.2.2 -> /home/seraphli/Blog/node_modules/.3.2.2@hexo
├── hexo-abbrlink@2.0.4 -> /home/seraphli/Blog/node_modules/.2.0.4@hexo-abbrlink
├── hexo-admin@2.2.0 -> /home/seraphli/Blog/node_modules/.2.2.0@hexo-admin
├── hexo-browsersync@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@hexo-browsersync
├── hexo-cli@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@hexo-cli extraneous
├── hexo-deployer-git@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@hexo-deployer-git
├── hexo-front-matter@0.2.3 -> /home/seraphli/Blog/node_modules/.0.2.3@hexo-front-matter extraneous
├── hexo-fs@0.1.6 -> /home/seraphli/Blog/node_modules/.0.1.6@hexo-fs extraneous
├── hexo-generator-archive@0.1.4 -> /home/seraphli/Blog/node_modules/.0.1.4@hexo-generator-archive
├── hexo-generator-category@0.1.3 -> /home/seraphli/Blog/node_modules/.0.1.3@hexo-generator-category
├── hexo-generator-feed@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@hexo-generator-feed
├── hexo-generator-index@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@hexo-generator-index
├── hexo-generator-search@1.0.4 -> /home/seraphli/Blog/node_modules/.1.0.4@hexo-generator-search
├── hexo-generator-seo-friendly-sitemap@0.0.20 -> /home/seraphli/Blog/node_modules/.0.0.20@hexo-generator-seo-friendly-sitemap
├── hexo-generator-tag@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@hexo-generator-tag
├── hexo-i18n@0.2.1 -> /home/seraphli/Blog/node_modules/.0.2.1@hexo-i18n extraneous
├── hexo-log@0.1.2 -> /home/seraphli/Blog/node_modules/.0.1.2@hexo-log extraneous
├── hexo-pagination@0.0.2 -> /home/seraphli/Blog/node_modules/.0.0.2@hexo-pagination extraneous
├── hexo-renderer-ejs@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@hexo-renderer-ejs
├── hexo-renderer-marked@0.2.11 -> /home/seraphli/Blog/node_modules/.0.2.11@hexo-renderer-marked
├── hexo-renderer-stylus@0.3.1 -> /home/seraphli/Blog/node_modules/.0.3.1@hexo-renderer-stylus
├── hexo-server@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@hexo-server
├── hexo-util@0.6.0 -> /home/seraphli/Blog/node_modules/.0.6.0@hexo-util extraneous
├── highlight.js@9.10.0 -> /home/seraphli/Blog/node_modules/.9.10.0@highlight.js extraneous
├── hoek@2.16.3 -> /home/seraphli/Blog/node_modules/.2.16.3@hoek extraneous
├── html-entities@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@html-entities extraneous
├── htmlparser2@3.8.3 -> /home/seraphli/Blog/node_modules/.3.8.3@htmlparser2 extraneous
├── http-errors@1.6.1 -> /home/seraphli/Blog/node_modules/.1.6.1@http-errors extraneous
├── http-signature@1.1.1 -> /home/seraphli/Blog/node_modules/.1.1.1@http-signature extraneous
├── indexof@0.0.1 -> /home/seraphli/Blog/node_modules/.0.0.1@indexof extraneous
├── inflight@1.0.6 -> /home/seraphli/Blog/node_modules/.1.0.6@inflight extraneous
├── inherits@2.0.3 -> /home/seraphli/Blog/node_modules/.2.0.3@inherits extraneous
├── invert-kv@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@invert-kv extraneous
├── is-binary-path@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@is-binary-path extraneous
├── is-buffer@1.1.5 -> /home/seraphli/Blog/node_modules/.1.1.5@is-buffer extraneous
├── is-dotfile@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@is-dotfile extraneous
├── is-equal-shallow@0.1.3 -> /home/seraphli/Blog/node_modules/.0.1.3@is-equal-shallow extraneous
├── is-extendable@0.1.1 -> /home/seraphli/Blog/node_modules/.0.1.1@is-extendable extraneous
├── is-extglob@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@is-extglob extraneous
├── is-fullwidth-code-point@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@is-fullwidth-code-point extraneous
├── is-glob@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@is-glob extraneous
├── is-number@2.1.0 -> /home/seraphli/Blog/node_modules/.2.1.0@is-number extraneous
├── is-plain-object@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@is-plain-object extraneous
├── is-posix-bracket@0.1.1 -> /home/seraphli/Blog/node_modules/.0.1.1@is-posix-bracket extraneous
├── is-primitive@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@is-primitive extraneous
├── is-typedarray@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@is-typedarray extraneous
├── isarray@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@isarray extraneous
├── isexe@1.1.2 -> /home/seraphli/Blog/node_modules/.1.1.2@isexe extraneous
├── isobject@2.1.0 -> /home/seraphli/Blog/node_modules/.2.1.0@isobject extraneous
├── isstream@0.1.2 -> /home/seraphli/Blog/node_modules/.0.1.2@isstream extraneous
├── jodid25519@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@jodid25519 extraneous
├── js-yaml@3.8.2 -> /home/seraphli/Blog/node_modules/.3.8.2@js-yaml extraneous
├── jsbn@0.1.1 -> /home/seraphli/Blog/node_modules/.0.1.1@jsbn extraneous
├── jsdom@7.2.2 -> /home/seraphli/Blog/node_modules/.7.2.2@jsdom extraneous
├── json-schema@0.2.3 -> /home/seraphli/Blog/node_modules/.0.2.3@json-schema extraneous
├── json-stable-stringify@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@json-stable-stringify extraneous
├── json-stringify-safe@5.0.1 -> /home/seraphli/Blog/node_modules/.5.0.1@json-stringify-safe extraneous
├── jsonify@0.0.0 -> /home/seraphli/Blog/node_modules/.0.0.0@jsonify extraneous
├── jsonparse@1.3.0 -> /home/seraphli/Blog/node_modules/.1.3.0@jsonparse extraneous
├── JSONStream@1.3.1 -> /home/seraphli/Blog/node_modules/.1.3.1@JSONStream extraneous
├── jsprim@1.4.0 -> /home/seraphli/Blog/node_modules/.1.4.0@jsprim extraneous
├── kind-of@3.1.0 -> /home/seraphli/Blog/node_modules/.3.1.0@kind-of extraneous
├── lcid@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@lcid extraneous
├── leancloud-storage@2.1.3 -> /home/seraphli/Blog/node_modules/.2.1.3@leancloud-storage
├── levn@0.3.0 -> /home/seraphli/Blog/node_modules/.0.3.0@levn extraneous
├── lodash@4.17.4 -> /home/seraphli/Blog/node_modules/.4.17.4@lodash extraneous
├── lower-case@1.1.4 -> /home/seraphli/Blog/node_modules/.1.1.4@lower-case extraneous
├── lru-cache@4.0.2 -> /home/seraphli/Blog/node_modules/.4.0.2@lru-cache extraneous
├── markdown@0.5.0 -> /home/seraphli/Blog/node_modules/.0.5.0@markdown extraneous
├── marked@0.3.6 -> /home/seraphli/Blog/node_modules/.0.3.6@marked extraneous
├── micromatch@2.3.11 -> /home/seraphli/Blog/node_modules/.2.3.11@micromatch extraneous
├── mime@1.3.4 -> /home/seraphli/Blog/node_modules/.1.3.4@mime extraneous
├── mime-db@1.27.0 -> /home/seraphli/Blog/node_modules/.1.27.0@mime-db extraneous
├── mime-types@2.1.14 -> /home/seraphli/Blog/node_modules/.2.1.14@mime-types extraneous
├── minimatch@3.0.3 -> /home/seraphli/Blog/node_modules/.3.0.3@minimatch extraneous
├── minimist@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@minimist extraneous
├── mkdirp@0.5.1 -> /home/seraphli/Blog/node_modules/.0.5.1@mkdirp extraneous
├── moment@2.18.1 -> /home/seraphli/Blog/node_modules/.2.18.1@moment extraneous
├── moment-timezone@0.5.11 -> /home/seraphli/Blog/node_modules/.0.5.11@moment-timezone extraneous
├── morgan@1.8.1 -> /home/seraphli/Blog/node_modules/.1.8.1@morgan extraneous
├── ms@0.7.2 -> /home/seraphli/Blog/node_modules/.0.7.2@ms extraneous
├── mv@2.1.1 -> /home/seraphli/Blog/node_modules/.2.1.1@mv extraneous
├── ncp@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@ncp extraneous
├── negotiator@0.6.1 -> /home/seraphli/Blog/node_modules/.0.6.1@negotiator extraneous
├── nib@1.1.2 -> /home/seraphli/Blog/node_modules/.1.1.2@nib extraneous
├── no-case@2.3.1 -> /home/seraphli/Blog/node_modules/.2.3.1@no-case extraneous
├── node-fingerprint@0.0.2 -> /home/seraphli/Blog/node_modules/.0.0.2@node-fingerprint extraneous
├── nopt@2.1.2 -> /home/seraphli/Blog/node_modules/.2.1.2@nopt extraneous
├── normalize-path@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@normalize-path extraneous
├── nth-check@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@nth-check extraneous
├── number-is-nan@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@number-is-nan extraneous
├── nunjucks@2.5.2 -> /home/seraphli/Blog/node_modules/.2.5.2@nunjucks extraneous
├── nwmatcher@1.3.9 -> /home/seraphli/Blog/node_modules/.1.3.9@nwmatcher extraneous
├── oauth-sign@0.8.2 -> /home/seraphli/Blog/node_modules/.0.8.2@oauth-sign extraneous
├── object-assign@4.1.1 -> /home/seraphli/Blog/node_modules/.4.1.1@object-assign extraneous
├── object-component@0.0.3 -> /home/seraphli/Blog/node_modules/.0.0.3@object-component extraneous
├── object.omit@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@object.omit extraneous
├── on-finished@2.3.0 -> /home/seraphli/Blog/node_modules/.2.3.0@on-finished extraneous
├── on-headers@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@on-headers extraneous
├── once@1.4.0 -> /home/seraphli/Blog/node_modules/.1.4.0@once extraneous
├── opn@4.0.2 -> /home/seraphli/Blog/node_modules/.4.0.2@opn extraneous
├── optimist@0.6.1 -> /home/seraphli/Blog/node_modules/.0.6.1@optimist extraneous
├── optionator@0.8.2 -> /home/seraphli/Blog/node_modules/.0.8.2@optionator extraneous
├── options@0.0.6 -> /home/seraphli/Blog/node_modules/.0.0.6@options extraneous
├── os-homedir@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@os-homedir extraneous
├── os-locale@1.4.0 -> /home/seraphli/Blog/node_modules/.1.4.0@os-locale extraneous
├── parse-glob@3.0.4 -> /home/seraphli/Blog/node_modules/.3.0.4@parse-glob extraneous
├── parse5@1.5.1 -> /home/seraphli/Blog/node_modules/.1.5.1@parse5 extraneous
├── parsejson@0.0.3 -> /home/seraphli/Blog/node_modules/.0.0.3@parsejson extraneous
├── parseqs@0.0.5 -> /home/seraphli/Blog/node_modules/.0.0.5@parseqs extraneous
├── parseuri@0.0.5 -> /home/seraphli/Blog/node_modules/.0.0.5@parseuri extraneous
├── parseurl@1.3.1 -> /home/seraphli/Blog/node_modules/.1.3.1@parseurl extraneous
├── path-is-absolute@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@path-is-absolute extraneous
├── performance-now@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@performance-now extraneous
├── pinkie@2.0.4 -> /home/seraphli/Blog/node_modules/.2.0.4@pinkie extraneous
├── pinkie-promise@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@pinkie-promise extraneous
├── prelude-ls@1.1.2 -> /home/seraphli/Blog/node_modules/.1.1.2@prelude-ls extraneous
├── preserve@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@preserve extraneous
├── pretty-hrtime@1.0.3 -> /home/seraphli/Blog/node_modules/.1.0.3@pretty-hrtime extraneous
├── process-nextick-args@1.0.7 -> /home/seraphli/Blog/node_modules/.1.0.7@process-nextick-args extraneous
├── pseudomap@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@pseudomap extraneous
├── punycode@1.4.1 -> /home/seraphli/Blog/node_modules/.1.4.1@punycode extraneous
├── qs@6.4.0 -> /home/seraphli/Blog/node_modules/.6.4.0@qs extraneous
├── randomatic@1.1.6 -> /home/seraphli/Blog/node_modules/.1.1.6@randomatic extraneous
├── range-parser@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@range-parser extraneous
├── readable-stream@2.2.6 -> /home/seraphli/Blog/node_modules/.2.2.6@readable-stream extraneous
├── readdirp@2.1.0 -> /home/seraphli/Blog/node_modules/.2.1.0@readdirp extraneous
├── regex-cache@0.4.3 -> /home/seraphli/Blog/node_modules/.0.4.3@regex-cache extraneous
├── repeat-element@1.1.2 -> /home/seraphli/Blog/node_modules/.1.1.2@repeat-element extraneous
├── repeat-string@1.6.1 -> /home/seraphli/Blog/node_modules/.1.6.1@repeat-string extraneous
├── request@2.81.0 -> /home/seraphli/Blog/node_modules/.2.81.0@request extraneous
├── rimraf@2.4.5 -> /home/seraphli/Blog/node_modules/.2.4.5@rimraf extraneous
├── safe-buffer@5.0.1 -> /home/seraphli/Blog/node_modules/.5.0.1@safe-buffer extraneous
├── safe-json-stringify@1.0.4 -> /home/seraphli/Blog/node_modules/.1.0.4@safe-json-stringify extraneous
├── sax@1.2.2 -> /home/seraphli/Blog/node_modules/.1.2.2@sax extraneous
├── send@0.15.1 -> /home/seraphli/Blog/node_modules/.0.15.1@send extraneous
├── serve-static@1.12.1 -> /home/seraphli/Blog/node_modules/.1.12.1@serve-static extraneous
├── set-immediate-shim@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@set-immediate-shim extraneous
├── setprototypeof@1.0.3 -> /home/seraphli/Blog/node_modules/.1.0.3@setprototypeof extraneous
├── sigmund@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@sigmund extraneous
├── sntp@1.0.9 -> /home/seraphli/Blog/node_modules/.1.0.9@sntp extraneous
├── socket.io@1.7.3 -> /home/seraphli/Blog/node_modules/.1.7.3@socket.io extraneous
├── socket.io-adapter@0.5.0 -> /home/seraphli/Blog/node_modules/.0.5.0@socket.io-adapter extraneous
├── socket.io-client@1.7.3 -> /home/seraphli/Blog/node_modules/.1.7.3@socket.io-client extraneous
├── socket.io-parser@2.3.1 -> /home/seraphli/Blog/node_modules/.2.3.1@socket.io-parser extraneous
├── source-map@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@source-map extraneous
├── sprintf-js@1.0.3 -> /home/seraphli/Blog/node_modules/.1.0.3@sprintf-js extraneous
├── sshpk@1.11.0 -> /home/seraphli/Blog/node_modules/.1.11.0@sshpk extraneous
├── statuses@1.3.1 -> /home/seraphli/Blog/node_modules/.1.3.1@statuses extraneous
├── string-width@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@string-width extraneous
├── string_decoder@0.10.31 -> /home/seraphli/Blog/node_modules/.0.10.31@string_decoder extraneous
├── stringstream@0.0.5 -> /home/seraphli/Blog/node_modules/.0.0.5@stringstream extraneous
├── strip-ansi@3.0.1 -> /home/seraphli/Blog/node_modules/.3.0.1@strip-ansi extraneous
├── strip-indent@1.0.1 -> /home/seraphli/Blog/node_modules/.1.0.1@strip-indent extraneous
├── striptags@2.2.1 -> /home/seraphli/Blog/node_modules/.2.2.1@striptags extraneous
├── stylus@0.54.5 -> /home/seraphli/Blog/node_modules/.0.54.5@stylus extraneous
├── supports-color@2.0.0 -> /home/seraphli/Blog/node_modules/.2.0.0@supports-color extraneous
├── swig@1.4.2 -> /home/seraphli/Blog/node_modules/.1.4.2@swig extraneous
├── swig-extras@0.0.1 -> /home/seraphli/Blog/node_modules/.0.0.1@swig-extras extraneous
├── symbol-tree@3.2.2 -> /home/seraphli/Blog/node_modules/.3.2.2@symbol-tree extraneous
├── text-table@0.2.0 -> /home/seraphli/Blog/node_modules/.0.2.0@text-table extraneous
├── through@2.3.8 -> /home/seraphli/Blog/node_modules/.2.3.8@through extraneous
├── tildify@1.2.0 -> /home/seraphli/Blog/node_modules/.1.2.0@tildify extraneous
├── titlecase@1.1.2 -> /home/seraphli/Blog/node_modules/.1.1.2@titlecase extraneous
├── to-array@0.1.4 -> /home/seraphli/Blog/node_modules/.0.1.4@to-array extraneous
├── tough-cookie@2.3.2 -> /home/seraphli/Blog/node_modules/.2.3.2@tough-cookie extraneous
├── tr46@0.0.3 -> /home/seraphli/Blog/node_modules/.0.0.3@tr46 extraneous
├── tunnel-agent@0.6.0 -> /home/seraphli/Blog/node_modules/.0.6.0@tunnel-agent extraneous
├── tweetnacl@0.14.5 -> /home/seraphli/Blog/node_modules/.0.14.5@tweetnacl extraneous
├── type-check@0.3.2 -> /home/seraphli/Blog/node_modules/.0.3.2@type-check extraneous
├── uglify-js@2.4.24 -> /home/seraphli/Blog/node_modules/.2.4.24@uglify-js extraneous
├── uglify-to-browserify@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@uglify-to-browserify extraneous
├── ultron@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@ultron extraneous
├── unpipe@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@unpipe extraneous
├── upper-case@1.1.3 -> /home/seraphli/Blog/node_modules/.1.1.3@upper-case extraneous
├── util-deprecate@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@util-deprecate extraneous
├── utils-merge@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@utils-merge extraneous
├── uuid@3.0.1 -> /home/seraphli/Blog/node_modules/.3.0.1@uuid extraneous
├── vary@1.1.1 -> /home/seraphli/Blog/node_modules/.1.1.1@vary extraneous
├── verror@1.3.6 -> /home/seraphli/Blog/node_modules/.1.3.6@verror extraneous
├── warehouse@2.2.0 -> /home/seraphli/Blog/node_modules/.2.2.0@warehouse extraneous
├── webidl-conversions@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@webidl-conversions extraneous
├── whatwg-url-compat@0.6.5 -> /home/seraphli/Blog/node_modules/.0.6.5@whatwg-url-compat extraneous
├── which@1.2.12 -> /home/seraphli/Blog/node_modules/.1.2.12@which extraneous
├── window-size@0.1.4 -> /home/seraphli/Blog/node_modules/.0.1.4@window-size extraneous
├── wordwrap@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@wordwrap extraneous
├── wrap-ansi@2.1.0 -> /home/seraphli/Blog/node_modules/.2.1.0@wrap-ansi extraneous
├── wrappy@1.0.2 -> /home/seraphli/Blog/node_modules/.1.0.2@wrappy extraneous
├── ws@1.1.2 -> /home/seraphli/Blog/node_modules/.1.1.2@ws extraneous
├── wtf-8@1.0.0 -> /home/seraphli/Blog/node_modules/.1.0.0@wtf-8 extraneous
├── xml-name-validator@2.0.1 -> /home/seraphli/Blog/node_modules/.2.0.1@xml-name-validator extraneous
├── xmlhttprequest-ssl@1.5.3 -> /home/seraphli/Blog/node_modules/.1.5.3@xmlhttprequest-ssl extraneous
├── y18n@3.2.1 -> /home/seraphli/Blog/node_modules/.3.2.1@y18n extraneous
├── yallist@2.1.2 -> /home/seraphli/Blog/node_modules/.2.1.2@yallist extraneous
├── yargs@3.32.0 -> /home/seraphli/Blog/node_modules/.3.32.0@yargs extraneous
└── yeast@0.1.2 -> /home/seraphli/Blog/node_modules/.0.1.2@yeast extraneous

For BUG

In the npm install version: File: hexo/lib/plugins/generator/post.js

'use strict';

function postGenerator(locals) {
  var posts = locals.posts.sort('-date').toArray();
  var length = posts.length;

  return posts.map(function(post, i) {
    var layout = post.layout;
    var path = post.path;

    if (!layout || layout === 'false') {
      return {
        path: path,
        data: post.content
      };
    }

    if (i) post.prev = posts[i - 1];
    if (i < length - 1) post.next = posts[i + 1];

    var layouts = ['post', 'page', 'index'];
    if (layout !== 'post') layouts.unshift(layout);

    post.__post = true;

    return {
      path: path,
      layout: layouts,
      data: post
    };
  });
}

module.exports = postGenerator;

Line 2, var posts = locals.posts.sort('-date').toArray();, is wrong, which will generator a reversed list. I try to use npm update or npm update -g, but the bug didn't disappear. So I think it is the package error. And I check other's website. They are having the same problem

NoahDragon commented 7 years ago

@tommy351 is the only person who maintain the npm packages.

neoFelhz commented 7 years ago

I got the same problem, as I am the collaborator of hexo-theme-material.

NoahDragon commented 7 years ago

@neoFelhz Have you tried the 3.3.1 version? It should be fixed. https://github.com/hexojs/hexo/pull/2262

neoFelhz commented 7 years ago

I've already updated to hexo 3.3.1, but the problem hasn't solved yet..

NoahDragon commented 7 years ago

@neoFelhz I believe this issue is introduced by the #2262, because we have the different perspective of previous and next on the time direction.

New<--------------------------------->Old
                     Next<--|-->Prev                         `posts.sort('date')`
                     Prev<--|-->Next                         `posts.sort('-date')`

@Seraphli this is not a bug. The code has existed since Hexo 2.0.

Seraphli commented 7 years ago

@NoahDragon There is a bug in previous package. Clearly there is a different between the repository and npm package. Since you have fix it two weeks ago, the npm package match the repo now in hexo@3.3.1.

NoahDragon commented 7 years ago

@Seraphli Thanks for the clarification. I will close this issue for now. Feel free to reopen if the issue still persist.