VulcanJS / Vulcan-Starter

VulcanJS starter repo. Use as a base for your own VulcanJS projects.
MIT License
127 stars 88 forks source link

Components not working #115

Closed ShaLi2204 closed 5 years ago

ShaLi2204 commented 5 years ago

Hi, there. All the pre-defined components are not working (no error message), such as SmartForm and AccountsLoginForm. (Version: 1.12.16) Do you have the same problem? Or could you please help me fix it? Thanks in advance!

SachaG commented 5 years ago

What example are you trying?

SachaG commented 5 years ago

Also make sure your packages depend on vulcan:ui-bootstrap@1.12.16.

ShaLi2204 commented 5 years ago

Hi, I am trying with both the example-instagram and example-forum. Please have a look at the screenshot, I suppose the package does depend on vulcan:ui-bootstrap@1.12.16.

Sacha Greif notifications@github.com 于2019年2月9日周六 下午12:45写道:

Also make sure your packages depend on vulcan:ui-bootstrap@1.12.16.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/VulcanJS/Vulcan-Starter/issues/115#issuecomment-462037549, or mute the thread https://github.com/notifications/unsubscribe-auth/Afh5McwVXNoWPm2gjbrKDvNPikhwXBunks5vLrTUgaJpZM4aydfs .

SachaG commented 5 years ago

Sorry I'm not sure, everything seems to work for me. I would need to know more about what exactly is not working, and what's happening. Also I didn't see any screenshot?

ShaLi2204 commented 5 years ago

Sorry it seems I did not manage to attach my screenshot here.

`

Package.describe({
  name: "example-forum",
  summary: "Vulcan forum package",
  version: '1.12.16',
  git: "https://github.com/VulcanJS/Vulcan.git"
});

Package.onUse(function (api) {

  api.versionsFrom('METEOR@1.5.2');

  api.use([

    'promise',
    'fourseven:scss@4.5.0',

    // vulcan core
    'vulcan:core@1.12.16',

    // vulcan packages
    'vulcan:ui-bootstrap@1.12.16',
    'vulcan:voting@1.12.16',
    'vulcan:accounts@1.12.16',
    'vulcan:email@1.12.16',
    'vulcan:forms@1.12.16',
    'vulcan:newsletter@1.12.16',
    'vulcan:events@1.12.16',
    'vulcan:embed@1.12.16',
    'vulcan:admin@1.12.16',

  ]);`

What does not work in the forum is the AccountsLoginForm, after I click the sign up/login button, nothing happens. I have tried it with the example-instagram, it doesn't work either.

eric-burel commented 5 years ago

Hi, could this be related to the branch used after the update to apollo2? It sounds weird

eric-burel commented 5 years ago

Can you please provide us the error messages from the console, client side and server side?

ShaLi2204 commented 5 years ago

Hi, I have got this error message from the console. TypeError: undefined is not an object (evaluating 'Package['vulcan:lib'].Vulcan')

SachaG commented 5 years ago

I'd suggest deleting node_modules and then running npm install and npm start again if you haven't done so already.

ShaLi2204 commented 5 years ago

@SachaG Yes I have done it like a thousand times, besides, I also have tried to remove the whole vulcan-starter files and clone it again. Tried it even on two computers, really do not know where do I do wrong. :(

eric-burel commented 5 years ago

Can you please describe us more precisely your install process? Id like to help but I have no clue which repo, branch you are using, if you use atmosphere package etc. That would help debugging a lot

ShaLi2204 commented 5 years ago

@eric-burel Of course. Like two weeks ago, I cloned the vulcan-starter repo followed the tutorials in the vulcanjs.org (Node and Meteor installed). The version vulcan:core was 1.12.12. I ran the getting-started tutorial, everything was fine. The sign up/login component in the step 13 worked perfectly and I could register and move on the the next stages. Then like last week, I notice there is a new version of vulcan-starter, I deleted the old version and cloned the new one again, following the tutorials. Then I noticed that my components do not work (in all the examples, not just the getting-started example). In the slack group I saw another one who has the same problem. (What he wrote: um i cant get past step 13. cant figure out what is wrong with the accounts ui but sign up / sign in does not work and there's no error anywhere.) I am new to vulcanjs and I just followed the documentation in vulcanjs.org. For cloning the vulcan-starter repo, I just clicked the link provide in the documentation, so i suppose I cloned it from the master. I typed meteor -v in the repository, below is the result:

Local package version is up-to-date: accounts-base@1.4.3
Local package version is up-to-date: accounts-password@1.5.1
Local package version is up-to-date: allow-deny@1.1.0
Local package version is up-to-date: autoupdate@1.5.1
Local package version is up-to-date: babel-compiler@7.2.4
Local package version is up-to-date: babel-runtime@1.3.0
Local package version is up-to-date: base64@1.0.11
Local package version is up-to-date: binary-heap@1.0.11
Local package version is up-to-date: blaze-tools@1.0.10
Local package version is up-to-date: caching-compiler@1.2.1
Local package version is up-to-date: caching-html-compiler@1.1.3
Local package version is up-to-date: callback-hook@1.1.0
Local package version is up-to-date: check@1.3.1
Local package version is up-to-date: ddp@1.4.0
Local package version is up-to-date: ddp-client@2.3.3
Local package version is up-to-date: ddp-common@1.4.0
Local package version is up-to-date: ddp-rate-limiter@1.0.7
Local package version is up-to-date: ddp-server@2.2.0
Local package version is up-to-date: deps@1.0.12
Local package version is up-to-date: diff-sequence@1.1.1
Local package version is up-to-date: dynamic-import@0.5.1
Local package version is up-to-date: ecmascript@0.12.4
Local package version is up-to-date: ecmascript-runtime@0.7.0
Local package version is up-to-date: ecmascript-runtime-client@0.8.0
Local package version is up-to-date: ecmascript-runtime-server@0.7.1
Local package version is up-to-date: ejson@1.1.0
Local package version is up-to-date: email@1.2.3
Local package version is up-to-date: es5-shim@4.8.0
Local package version is up-to-date: fetch@0.1.0
Local package version is up-to-date: fourseven:scss@4.10.0
Local package version is up-to-date: geojson-utils@1.0.10
Local package version is up-to-date: hot-code-push@1.0.4
Local package version is up-to-date: html-tools@1.0.11
Local package version is up-to-date: htmljs@1.0.11
Local package version is up-to-date: http@1.4.2
Local package version is up-to-date: id-map@1.1.0
Local package version is up-to-date: inter-process-messaging@0.1.0
Local package version is up-to-date: localstorage@1.2.0
Local package version is up-to-date: logging@1.1.20
Local package version is up-to-date: meteor@1.9.2
Local package version is up-to-date: meteorhacks:inject-initial@1.0.4
Local package version is up-to-date: meteorhacks:picker@1.0.3
Local package version is up-to-date: minifier-css@1.4.1
Local package version is up-to-date: minifier-js@2.4.0
Local package version is up-to-date: minimongo@1.4.5
Local package version is up-to-date: modern-browsers@0.1.3
Local package version is up-to-date: modules@0.13.0
Local package version is up-to-date: modules-runtime@0.10.3
Local package version is up-to-date: mongo@1.6.0
Local package version is up-to-date: mongo-decimal@0.1.0
Local package version is up-to-date: mongo-dev-server@1.1.0
Local package version is up-to-date: mongo-id@1.0.7
Local package version is up-to-date: npm-bcrypt@0.9.3
Local package version is up-to-date: npm-mongo@3.1.1
Local package version is up-to-date: ordered-dict@1.1.0
Local package version is up-to-date: percolatestudio:synced-cron@1.1.0
Local package version is up-to-date: promise@0.11.2
Local package version is up-to-date: random@1.1.0
Local package version is up-to-date: rate-limit@1.0.9
Local package version is up-to-date: reactive-dict@1.2.1
Local package version is up-to-date: reactive-var@1.0.11
Local package version is up-to-date: reload@1.2.0
Local package version is up-to-date: retry@1.1.0
Local package version is up-to-date: routepolicy@1.1.0
Local package version is up-to-date: server-render@0.3.1
Local package version is up-to-date: service-configuration@1.0.11
Local package version is up-to-date: session@1.2.0
Local package version is up-to-date: sha@1.0.9
Local package version is up-to-date: shell-server@0.4.0
Local package version is up-to-date: socket-stream-client@0.2.2
Local package version is up-to-date: spacebars-compiler@1.1.3
Local package version is up-to-date: srp@1.0.12
Local package version is up-to-date: standard-minifier-css@1.5.2
Local package version is up-to-date: standard-minifier-js@2.4.0
Local package version is up-to-date: static-html@1.2.2
Local package version is up-to-date: templating-tools@1.1.2
Local package version is up-to-date: tracker@1.2.0
Local package version is up-to-date: underscore@1.0.10
Local package version is up-to-date: url@1.2.0
Local package version is up-to-date: vulcan:accounts@1.12.16
Local package version is up-to-date: vulcan:core@1.12.16
Local package version is up-to-date: vulcan:debug@1.12.16
Local package version is up-to-date: vulcan:email@1.12.16
Local package version is up-to-date: vulcan:forms@1.12.16
Local package version is up-to-date: vulcan:i18n@1.12.16
Local package version is up-to-date: vulcan:i18n-en-us@1.12.16
Local package version is up-to-date: vulcan:lib@1.12.16
Local package version is up-to-date: vulcan:routing@1.12.16
Local package version is up-to-date: vulcan:ui-bootstrap@1.12.16
Local package version is up-to-date: vulcan:users@1.12.16
Local package version is up-to-date: webapp@1.7.2
Local package version is up-to-date: webapp-hashing@1.0.9

I am wondering, if there is conflict between the old version and the latest version. Thank you very much for your patience!

eric-burel commented 5 years ago

I'd advise you to try a 2 repo install, you'll need to clone Vulcan and switch to branch devel-apollo1 (its important because we are currently upgrading Vulcan to apollo 2). Ser the doc for more details. Personally I never use the atmosphere version of Vulcan, the 2 repo install gives more control and allow you to enjoy the latest fix easily

SachaG commented 5 years ago

Also another thing you can try is just putting your repo online on GitHub so we can check out the code directly.

ShaLi2204 commented 5 years ago

@eric-burel I have just tried 2 repo install, still it does not work :( Here the error message from console

[Error] Error: Cannot find module 'stream'
    fallback (modules-runtime.js:615)
    (anonyme Funktion) (modules.js:83891)
    mingo.js (modules.js:86163)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:313)
    mongo_redux.js (vulcan_lib.js:3507)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:313)
    index.js (vulcan_lib.js:3306)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:313)
    render_context.js (vulcan_lib.js:258)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:313)
    auth.js (vulcan_lib.js:82)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:313)
    main.js (vulcan_lib.js:44)
    fileEvaluate (modules-runtime.js:346)
    (anonyme Funktion) (vulcan_lib.js:4944)
    Globaler Code (vulcan_lib.js:4951)
[Error] TypeError: undefined is not an object (evaluating 'Package['vulcan:lib'].Vulcan')
    (anonyme Funktion) (vulcan_i18n.js:17)
    Globaler Code (vulcan_i18n.js:335)
eric-burel commented 5 years ago

The first error with the stream package missing is the actual issue, can you try to install it?

ShaLi2204 commented 5 years ago

I have installed stream, then it says apollo-link-state is missing. I then installed apollo-link-state, then the graphql-voyager/middleware/express is missing. I wonder if I have installed the packages wrongly? I used npm install in the project repository.

eric-burel commented 5 years ago

You do not seem to be on the correct branch, those package are only needed in the apollo2 version, are you on branch devel-apollo1in Vulcan?

eric-burel commented 5 years ago

(we merged this update just 2 days ago things will be sorted out very soon)

ShaLi2204 commented 5 years ago

I think I am on the branch devel (which is the direct link from the 2 repo tutorial). Which branch is the right one?

eric-burel commented 5 years ago

It should be devel-apollo1 for Vulcan

ShaLi2204 commented 5 years ago

Have just tried with devel-apollo1. Here is something strange:

vulcan-starter Sha$ METEOR_PACKAGE_DIRS="/Users/April/Desktop/miesystem/Vulcan-devel-apollo1/packages" meteor --port 3000 --settings settings.json
[[[[[ ~/Desktop/miesystem/Vulcan-Starter ]]]]]

=> Started proxy.                             

Changes to your project's package version selections:

apollo  removed from your project             

=> Started MongoDB.                           
=> Started your app.                          

=> App running at: http://localhost:3000/

Is it normal that apollo is removed from the project? Thank you guys so much for helping me on a Sunday. I hope you still have a nice weekend.

ShaLi2204 commented 5 years ago

A small update: this time, no "apollo removed from your project". But in the console I receive the same error message - cannot find module stream. Here is the code how i cloned the devel-apollo1 git clone -b devel-apollo1 https://github.com/VulcanJS/Vulcan.git

eric-burel commented 5 years ago

Can you please send your METEOR PACKAGE DIRS env variable? Otherwise Ill try to repoduce your issue tomorrow

ShaLi2204 commented 5 years ago

Are you meaning the package.json in the project? If yes, please see below:

{
  "name": "Vulcan",
  "version": "1.12.16",
  "engines": {
    "npm": "^3.0"
  },
  "scripts": {
    "prestart": "node .vulcan/prestart_vulcan.js",
    "start": "meteor --settings settings.json",
    "lint": "eslint --cache --ext .jsx,js packages"
  },
  "dependencies": {
    "@babel/runtime": "^7.1.2",
    "analytics-node": "^2.1.1",
    "apollo-client": "^1.2.2",
    "apollo-engine": "^0.5.4",
    "apollo-errors": "^1.9.0",
    "apollo-link-state": "^0.4.2",
    "apollo-server-express": "^1.3.6",
    "babel-runtime": "^6.26.0",
    "bcrypt": "^3.0.4",
    "body-parser": "^1.18.2",
    "chalk": "2.2.0",
    "classnames": "^2.2.3",
    "combined-stream2": "^1.1.2",
    "compression": "^1.7.2",
    "cookie-parser": "^1.4.3",
    "cross-fetch": "^0.0.8",
    "crypto-js": "^3.1.9-1",
    "dataloader": "^1.4.0",
    "deepmerge": "^1.2.0",
    "dot-object": "^1.7.0",
    "escape-string-regexp": "^1.0.5",
    "express": "^4.16.3",
    "flat": "^4.0.0",
    "graphql": "^0.10.5",
    "graphql-anywhere": "^3.0.1",
    "graphql-date": "^1.0.2",
    "graphql-tag": "^2.9.2",
    "graphql-tools": "^3.0.1",
    "graphql-type-json": "^0.1.4",
    "graphql-voyager": "^1.0.0-rc.26",
    "handlebars": "^4.0.5",
    "he": "^1.1.1",
    "history": "^3.0.0",
    "html-to-text": "^2.1.0",
    "immutability-helper": "^2.7.0",
    "import": "0.0.6",
    "intl": "^1.2.4",
    "intl-locales-supported": "^1.0.0",
    "juice": "^5.1.0",
    "lodash": "^4.17.10",
    "mailchimp": "^1.1.6",
    "marked": "^0.5.2",
    "meteor-node-stubs": "^0.4.1",
    "mingo": "^0.8.1",
    "moment": "^2.13.0",
    "package-stream": "^3.0.2",
    "prop-types": "^15.6.0",
    "react": "^16.4.1",
    "react-addons-pure-render-mixin": "^15.4.1",
    "react-apollo": "^1.4.15",
    "react-bootstrap": "^1.0.0-beta.5",
    "react-cookie": "^2.1.6",
    "react-datetime": "^2.11.1",
    "react-dom": "^16.4.1",
    "react-dropzone": "^3.13.4",
    "react-helmet": "^5.1.3",
    "react-intl": "^2.1.3",
    "react-loadable": "^4.0.3",
    "react-markdown": "^3.1.5",
    "react-places-autocomplete": "^5.0.0",
    "react-redux": "^5.0.6",
    "react-router": "^3.2.0",
    "react-router-bootstrap": "^0.23.1",
    "react-router-scroll": "^0.4.4",
    "react-select": "^1.2.1",
    "react-stripe-checkout": "^2.4.0",
    "react-syntax-highlighter": "^6.1.2",
    "reactstrap": "^7.1.0",
    "recompose": "^0.26.0",
    "redux": "^3.6.0",
    "rss": "^1.2.1",
    "sanitize-html": "^1.16.3",
    "simpl-schema": "^1.4.2",
    "speakingurl": "^9.0.0",
    "stripe": "^4.23.1",
    "styled-components": "^2.1.1",
    "tracker-component": "^1.3.14",
    "underscore": "^1.8.3",
    "universal-cookie-express": "^2.1.5",
    "url": "^0.11.0"
  },
  "private": true,
  "devDependencies": {
    "autoprefixer": "^6.3.6",
    "babel-eslint": "^7.0.0",
    "eslint": "^3.10.1",
    "eslint-config-airbnb": "^13.0.0",
    "eslint-config-meteor": "0.0.9",
    "eslint-import-resolver-meteor": "^0.3.3",
    "eslint-plugin-babel": "^3.3.0",
    "eslint-plugin-import": "^2.11.0",
    "eslint-plugin-jsx-a11y": "^2.2.3",
    "eslint-plugin-meteor": "^4.2.1",
    "eslint-plugin-react": "^6.7.1"
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {
        "browsers": [
          "last 2 versions"
        ]
      }
    }
  }
}

If not, could you please kindly give me a hint where can I find it?

eric-burel commented 5 years ago

You may actually need the stream package though, only apollo-link stuff are related to apollo2 only You meteor package dirs seems correct sorry I missed one of your earlier comment. The fact that the apollo package have been removed is normal (it is only used in v2)

ShaLi2204 commented 5 years ago

I have installed stream with npm install stream, after that I get another error message in the console, which is, cannot find module emitter... Is is a module required in Vulcan?

ShaLi2204 commented 5 years ago

Update: emitter installed. Now - Object is not a constructor (evaluating 'new Emitter()') Beside, this error message is still there TypeError: undefined is not an object (evaluating 'Package['vulcan:lib'].Vulcan')

SachaG commented 5 years ago

I also ran into the stream error, I had to delete node_modules and reinstall node packages to get rid of it. And I also updated to the latest Meteor version. There was some discussion about it on the Slack channel, somebody suggested using yarn rather than npm:

https://vulcanjs.slack.com/archives/C02L990AF/p1549281540331400

Sorry about all that and thanks for your patience! I think the stream thing might be a bug in Meteor itself, as it just seems to appear randomly in some cases…

eric-burel commented 5 years ago

Yes I can reproduce by installing and running the starter using npm. rm -Rf node_modules && yarn fixes it. Very weird.

ShaLi2204 commented 5 years ago

@SachaG @eric-burel Thank you so much for your help. I just tried rm -Rf node_modules then yarn install yarn start. Still it does not work. :( The error message is

[Error] TypeError: Object is not a constructor (evaluating 'new Emitter()')
    index.js (modules.js:87772)
    fileEvaluate (modules-runtime.js:346)
    (anonyme Funktion) (modules.js:85443)
    mingo.js (modules.js:87715)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:318)
    mongo_redux.js (vulcan_lib.js:3507)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:318)
    index.js (vulcan_lib.js:3306)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:318)
    render_context.js (vulcan_lib.js:258)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:318)
    auth.js (vulcan_lib.js:82)
    fileEvaluate (modules-runtime.js:346)
    moduleLink (modules.js:318)
    main.js (vulcan_lib.js:44)
    fileEvaluate (modules-runtime.js:346)
    (anonyme Funktion) (vulcan_lib.js:4944)
    Globaler Code (vulcan_lib.js:4951)
[Error] TypeError: undefined is not an object (evaluating 'Package['vulcan:lib'].Vulcan')
    (anonyme Funktion) (vulcan_i18n.js:17)
    Globaler Code (vulcan_i18n.js:335)

I am planning to do everything from the very beginning. Could you please let me know, which branch is right for Vulcan-Starter? I see a master and a getting-started-complete. (I am using master, but it seems it has changed after the last time i cloned it)

SachaG commented 5 years ago

If you're doing the "normal" install then master is the right branch for the starter repo. If you're doing the 2-repo install with the devel branch on the core repo then apollo2 is the right branch for the starter repo.

ShaLi2204 commented 5 years ago

@SachaG @eric-burel I have cloned the latest version of vulcan-starter, used yarn for installation and start, it works!!! Finally!!! Thank you guys so much for your helps and patience!! You are the best!!^^

SachaG commented 5 years ago

I'm glad it works! But I feel bad it took so many different tries to get it working… I really don't know what went wrong, I think it was a combination of update issues on our part, weird Meteor/NPM behaviors, and just plain bad luck… hopefully from now on things will be easier :)

ShaLi2204 commented 5 years ago

Haha it's okay. The most important thing is that it finally works (Honestly I don't know either what was wrong XD). Thank you for your patience again, you have helped me so much! :)

enzolutions commented 5 years ago

Hey guys.

I confirm that this procedure works.

  1. Vulcan (master)
  2. Vulcan Start (master branch)
  3. Set METEOR_PACKAGE_DIRS to Vulcan (master) directory
  4. rm -Rf node_modules && yarn

The only weird thing is the Meteor log request to install this package ( in Mac OSX at least)

W20190217-14:59:59.915(11)? (STDERR) Note: you are using a pure-JavaScript implementation of bcrypt.
W20190217-14:59:59.916(11)? (STDERR) While this implementation will work correctly, it is known to be
W20190217-14:59:59.916(11)? (STDERR) approximately three times slower than the native implementation.
W20190217-14:59:59.916(11)? (STDERR) In order to use the native implementation instead, run
W20190217-14:59:59.916(11)? (STDERR)
W20190217-14:59:59.916(11)? (STDERR)   meteor npm install --save bcrypt
W20190217-14:59:59.916(11)? (STDERR)
W20190217-14:59:59.916(11)? (STDERR) in the root directory of your application.

After installing with meteor npm install --save bcrypt everything goes to hell again and I have to repeat the process.

But restoring first my package.json file with git checkout package.json