termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.27k stars 3.06k forks source link

[Package]: nodejs - previous version #7930

Closed anonimo82 closed 3 years ago

anonimo82 commented 3 years ago

Package description

Nodejs v14

Home page URL

No response

Source code URL

https://github.com/nodejs/node

Packaging policy acknowledgement

Additional information

code-server requires node v14 to install, while in the latest lts we have v16. Please, provide a package for v14 too (maybe you can name it nodejs-old?)

Thanks in advance for any help

thunder-coding commented 3 years ago

I don't think there is any Linux distribution that maintains 3 different versions of nodejs. Nodejs requires 2+ hours to build on CI and is a pain to keep it up to date. Also code-server can be installed by using the FORCE_NODE_VERSION environment variable.

FORCE_NODE_VERSION=<current major node version> yarn global add code-server --ignore-engines

I would recommend using nodejs-lts instead of nodejs for more stable experience

If you have any other reason to also keep v14 legacy version of node, consider commenting

anonimo82 commented 3 years ago

Yes, I'm using lts. Tried with FORCE_NODE_VERSION=16 yarn global add code-server, no luck

thunder-coding commented 3 years ago

Weird, I am currently having working code-server with nodejs v17, reinstalled a few days ago when updating nodejs to v17. Probably it's an upstream issue. Also I have updated the previous comment to also pass --ignore-engines to yarn, consider trying to check whether it works

Also nodejs has ended active LTS for v14 and entered maintenance only release (i.e. only critical bug fixes and security patches).

anonimo82 commented 3 years ago

Here is my output: https://pastebin.com/kCe0TqFb

thunder-coding commented 3 years ago

Install binutils to be able to use the ar command. The same solution as of https://github.com/termux/termux-packages/discussions/7914#discussioncomment-1575734

anonimo82 commented 3 years ago

Yes, it now works. Thanks a lot!

thunder-coding commented 3 years ago

Yes, it now works. Thanks a lot!

Also consider posting the fix to the upstream issue so that others can also benifit 🙃

anonimo82 commented 3 years ago

Yes, how?

anonimo82 commented 3 years ago

I'm having issues installing svg extension (from jock), either from marketplace or with vsix

https://pasteboard.co/UVFWVRxoFVpG.jpg https://pasteboard.co/9i36g4UfnwzJ.jpg

It was working fine with an old install, but, unfortunately, I don't have it anymore

RoyGalaxy commented 3 years ago

Can you please downgrade the node package to v14 or provide us with something through which we can install v14 of node in termux. I want to install code-server which requires v14 but i can't. They told me that nodejs doesn't support v16

anonimo82 commented 3 years ago

@RoyGalaxy I've been able to install it, but I had troubles with extensions. Just install binutils and follow the instructions from @thunder-coding

H4M5TER commented 2 years ago

Currently VSCode is using Electron 13.5.1 and Node.js 14.16.0, and code-server is bound with it. I wonder how to compile node 14 for termux manually.

pkg install binutils git build-essential python2
git clone -b v14.x --depth 1 https://github.com/nodejs/node
python2 ./configure
make -j4

The commands above failed with something like can't find 'execinfo.h'. Any ideas?

H4M5TER commented 2 years ago

I tried FORCE_NODE_VERSION=16 yarn global add code-server --ignore-engines and it worked. Though it's comfusing that

FORCE_NODE_VERSION=16
yarn global add code-server --ignore-engines

not working.

ghost commented 2 years ago

@H4M5TER It doesn't work because FORCE_NODE_VERSION=16 is not exported. Using it as a prefix before command will cause it being exported to subprocess. But it won't be exported if used standalone without export keyword. That's how shell working.

H4M5TER commented 2 years ago

Thank you for answering that @xeffyr