SOLVED! Why is `curl https://install.meteor.com/ | sh` not maintained anymore

SOLVED: The documentation says now:

we are still going to maintain this script as well


According to docs/source/install.md. The simple way to install meteor is not supported anymore:

Legacy Installation Method

For Linux and OS X, we are still providing the legacy installation method which uses a bash script and doesn’t depend on Node.

> curl https://install.meteor.com/ | sh

This installation method is not maintained anymore, and you should always use the NPM one.

Can someone explain to me what the rationale behind this is?

I have a very simple make rule to install meteor:

~/.meteor:
	curl https://install.meteor.com/ | sh

Now I have to install an unspecified version of node and npm in order to install meteor which comes with its own specific version of node and npm.

This makes absolutely no sense to me. It will make my clean build process way more complicated, because it adds a dependency to another node version that I have to install on the system.

6 Likes

see also Optimize CI for Meteor

This is a major breaking change for legacy versions since they all use that server for packages.

Can confirm that v1.8.1 is now dead because of this.

1 Like

Hello!

I would like to highlight that even if we are “deprecating” the old install method, it will still be online and you can use it as you please, as we don’t have any plans to remove it. It’s just that using NPM is better for newcomers and has a lot of advantages in the question of approaching meteor to the node ecosystem.

You can still use the install.meteor script in your CI, without issues, as it is feature-complete in our point of view, and won’t be removed in the foreseeable future.

2 Likes

Hi @renanccastro!

I’ve used Meteor in education since many years. The students were JavaScript beginners, had no prior knowledge of Node.js, and it was always a dream to have this one-line-installer, especially in comparison to all other Node.js-based frameworks, which needed at least two steps. Meteor was always perfect for beginners.

For myself I can say that I came to Node.js via Meteor. Sometimes it was hard, as some Node.js knowledge was silently expected, but at the end, I’ve mastered it. One of the strengths of Meteor was (and maybe still is) to hide Node.js specialties like callbacks. It took years before I had to read the Node.js documentation, as Meteor and its website offered all information I needed to build my first Meteor applications and packages.

Furthermore, Meteor solves one problem elegantly, which I regularly see in the Node.js world, where I have to manage a number of Node.js versions to build a number of Gatsby sites. I know, there’re solutions for this issue, but Meteor never made my think about it. It just worked.

Therefore I’d recommend to offer both possibilities in an equal way – one for the Node.js users, the other for beginners.

On the web page this could be solved by asking: Node installed?

  • If yes: Install using NPM npm install -g meteor
  • If no: Check the one-line installation curl https://install.meteor.com/ | sh

Best regards,

Franz

6 Likes

This is crazy, why would this be broken in the name of improvement?

I really don’t get this kind of philosophy. You can’t break crucial stuff in the name of progress.

1 Like

Nothing is being broken, just a new option how to do this is recommended because people are constantly complaining why Meteor isn’t more aligned with NPM.

Isnt “not maintained anymore” not a garantuee that at some point in time it will break? I believe that’s what people would like to know. It could have said “phased out, supported till end 2022” which would give the community time to switch to npm. :hugs:

1 Like

+1 on maintaining it and not phasing it out. This is very important on the CI/CD part because we install node depending on the supported version of Meteor. The npm route requires two installations of node during CI (as explained above).

3 Likes

It’s just a bash script, do you want me to maintain it?

NVM (node version manager) may help for CI/CD as you could run the following and then the meteor install I guess (or just make a script that does all of that for you)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

We need to install meteor first to know what version of node it supports.

With npm, you need to install node first before you can install meteor, and then know what version of node that meteor supports.

1 Like

npm install -g meteor does work.

npm install -g meteor
meteor // command not found.

because I have prefix=~/.npm-packages in my ~/.npmrc file, and Meteor is not following standards, this it is not “more aligned with NPM.”

On the contrary, this new setup is not like regular NPM packages. For example, I do not know of a single package that does this inside any project:

❯ npm install meteor
******************************************
You are not using a global npm context to install, you should never add meteor to your package.json.
Make sure you pass -g to npm install.
Aborting
******************************************

To be aligned with npm, meteor should be installable inside of projects, as a way to manage versions of meteor per project.

Furthermore, after running npm install -g meteor, this happens:

❯ npm install -g meteor
❯ meteor-installer install
******************************************
You are not using a global npm context to install, you should never add meteor to your package.json.
Make sure you pass -g to npm install.
Aborting
******************************************

because of my aforementioned .npmrc configuration.

No one wants to use something marked as “no longer maintained” for fear that it will break.

Can you please mark the shell script installer as “maintained”, or otherwise please fix the npm install setup. :pray:

2 Likes

I see, got you… yep it kinda sucks to not just have this shell script to be totally honest

Hi all, I believe there is a misunderstanding here.

Every Meteor developer is a Node.js developer as well, so requiring Node.js is not a problem.

Also, we are maintaining the shell script, for example, the Apple M1 installation is also supported in the shell script and it was released last week.

So the only change, in reality, is that now we have a single way to install Meteor in every architecture that we support, using npm install as many other platforms do.

And we continue to have the old way that many users are used to. And this is not going to change.

Our installation path needs to be really simple for first comers. If you don’t want to use npm to install Meteor this is ok. No problem. Continue using the shell script.

1 Like

Please take a look on why many of us “misunderstand” this. There is something wrong with labeling it as “not maintained anymore.”

1 Like

Sorry @rjdavid, I have fixed the wording in the docs. :wink:

3 Likes

npm install -g meteor doesn’t work. Please see above.

Node+NPM users expect npm install to work a certain way, but Meteor has currently veered away from that. The above problem only happens with Meteor, but not any other NPM package I have ever used.

The installer that works best is the curl install, but now Meteor site tells people to use the npm install which is not going to work more of the time.

The curl method is still officially supported – there meteor team has changed the wording to

we are still going to maintain this script as well

@scharf True. I’m just pointing out that the new recommended npm install is prone to more failure compared to the curl install.

The reason is that npm install meteor is not follow conventions, and fails to work properly in certain scenarios (either when installed locally in a package, or when installed globally with an npmrc changing the default location of global installs, and possibly other cases I haven’t tried).

The curl install works the best, and I believe it should still be the one mentioned by default here:

“Meteor developers” are not by default “Node developers”. Meteor might be their first foray into web dev (as it was for many in the past), and they might learn Node eventually thanks to Meteor, but this assumption makes things a little more difficult (just a little).

3 Likes