empiricaly / empirica

Open source project to tackle the problem of long development cycles required to produce software to conduct multi-participant and real-time human experiments online.
https://empirica.ly/
Apache License 2.0
43 stars 8 forks source link

Unable to run earlier versions of Empirica v1 #516

Closed Shawnhan666 closed 4 months ago

Shawnhan666 commented 4 months ago

Is there an existing issue for this?

What happened?

I attempted to run an early version of an Empirica game, specifically Version 1, from the GitHub repository (https://github.com/srflet/crowd-emotions-v2-pilot). After cloning the repository locally and successfully running **meteor npm install**, I encountered a version compatibility issue when trying to launch the game using Meteor. The terminal displayed the following message:

"This project uses Meteor 1.10.2, which isn't available on this platform. To work with this app on all supported platforms, use meteor update --release METEOR@2.15 to pin this app to the newest compatible release."

Following the suggested advice, I executed **meteor update --release METEOR@2.15**. However, this led to initialization errors related to package version conflicts:

=> Errors while initializing project:
While selecting package versions: error: Conflict: Constraint accounts-password@1.6.0 is not satisfied by accounts-password 2.4.0. Constraints on package "accounts-password":

Conflict: Constraint accounts-base@1.4.2 is not satisfied by accounts-base 2.2.10. Constraints on package "accounts-base":

These constraints indicate a significant compatibility issue between the early version of the Empirica game I'm trying to run and the newer Meteor platform versions. How can I resolve these version conflicts to successfully run the game?

Thank you!!

Steps To Reproduce

  1. clone from https://github.com/srflet/crowd-emotions-v2-pilot
  2. how to run it successfully locally?

Thanks!!!!!

Empirica Version

METEOR@1.10.2

What OS are you seeing the problem on?

macOS

What browser are you seeing the problem on?

Does not apply

Relevant log output

shawn@eduroam-int-dhcp-97-32-197 crowd-emotions-v2-pilot % meteor                             
This project uses Meteor 1.10.2, which isn't available on this platform. To work with this app on all supported platforms, use meteor update --release METEOR@2.15 to pin this app to the
newest compatible release.
shawn@eduroam-int-dhcp-97-32-197 crowd-emotions-v2-pilot %  meteor update --release METEOR@2.15
=> Errors while initializing project:         

While selecting package versions:
error: Conflict: Constraint accounts-password@1.6.0 is not satisfied by accounts-password 2.4.0.
Constraints on package "accounts-password":
* accounts-password@~2.4.0 <- top level
* accounts-password@1.6.0 <- empirica:core 1.16.1

Conflict: Constraint accounts-base@1.4.2 is not satisfied by accounts-base 2.2.10.
Constraints on package "accounts-base":
* accounts-base@~2.2.10 <- top level
* accounts-base@1.4.2 <- matb33:collection-hooks 0.9.1 <- empirica:core 1.16.1
* accounts-base@2.2.9 <- accounts-password 2.4.0 <- empirica:core 1.16.1

shawn@eduroam-int-dhcp-97-32-197 crowd-emotions-v2-pilot % meteor list

This project uses Meteor 1.10.2, which isn't available on this platform. To work with this app on all supported platforms, use meteor update --release METEOR@2.15 to pin this app to the
newest compatible release.
shawn@eduroam-int-dhcp-97-32-197 crowd-emotions-v2-pilot %

Anything else?

No response

Code of Conduct

Shawnhan666 commented 4 months ago

Update: I just switched to a Windows computer and reinstalled all the necessary components, and it's working now:)

malsobay commented 4 months ago

This is a known issue with Apple silicon -- see this part of the v1 documentation.

In case you want to run it on your Mac, this is what I do:

  1. If you run arch in your terminal, you can see which architecture your terminal is using. If you're on M2, this'll show arm64, but if you emulate Intel, you should see i386
  2. To run a v1 project, you first need to emulate the Intel architecture, which is what the docs I shared above suggest. To make this easier, I've added an alias to my .zshrc file. What this does is allow me to type intel into the terminal to emulate i386 only for the current terminal session (i.e. any other terminal window will still be arm64, so you won't mess anything up.) alias intel="arch -x86_64 zsh" Then, whenever you want to launch a v1 project, from within the project directory you just need to do:
    >> intel 
    >> meteor