Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cannot install node 14.10.0 in macbook #300

Open
hkbluesky opened this issue Feb 10, 2022 · 3 comments
Open

cannot install node 14.10.0 in macbook #300

hkbluesky opened this issue Feb 10, 2022 · 3 comments

Comments

@hkbluesky
Copy link

% nodeenv --node=14.10.0 --prebuilt env-14.10.0-prebuilt

  • Install prebuilt node (14.10.0) .
    Traceback (most recent call last):
    File "/usr/local/bin/nodeenv", line 11, in
    load_entry_point('nodeenv==1.6.0', 'console_scripts', 'nodeenv')()
    File "/Library/Python/2.7/site-packages/nodeenv-1.6.0-py2.7.egg/nodeenv.py", line 1079, in main
    create_environment(env_dir, opt)
    File "/Library/Python/2.7/site-packages/nodeenv-1.6.0-py2.7.egg/nodeenv.py", line 956, in create_environment
    install_node(env_dir, src_dir, opt)
    File "/Library/Python/2.7/site-packages/nodeenv-1.6.0-py2.7.egg/nodeenv.py", line 721, in install_node
    install_node_wrapped(env_dir, src_dir, opt)
    File "/Library/Python/2.7/site-packages/nodeenv-1.6.0-py2.7.egg/nodeenv.py", line 743, in install_node_wrapped
    download_node_src(node_url, src_dir, opt)
    File "/Library/Python/2.7/site-packages/nodeenv-1.6.0-py2.7.egg/nodeenv.py", line 570, in download_node_src
    dl_contents = io.BytesIO(urlopen(node_url).read())
    File "/Library/Python/2.7/site-packages/nodeenv-1.6.0-py2.7.egg/nodeenv.py", line 606, in urlopen
    return urllib2.urlopen(req)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 435, in open
    response = meth(req, response)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 473, in error
    return self._call_chain(*args)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 404: Not Found
@hosier
Copy link

hosier commented Feb 11, 2022

I am having similar issues. In my case, I found that there was no prebuilt binary for my system. Nodeenv is trying to download this file, but it does not exist: https://nodejs.org/download/release/v17.5.0/node-v17.5.0-linux-x86.tar.gz

@tutuca
Copy link

tutuca commented Mar 17, 2022

Do you have an m1 chip? it seems there's no prebuilt binary for this architecture.

@x3l51
Copy link

x3l51 commented Apr 27, 2022

I have a similar issue and want to share what I tried.

The urlib 404 occurs because there's no binaries for darwin arm64 for versions lower than 16.latest I think. You can check all versions here.

You can try building node from source instead of using a prebuilt with --source -j 4, similar to the make syntax. For me this still fails on multiple ends when I try to run it.

The only thing that has helped me was running older node versions with rosetta compatibility mode. This doesn't work with nodeenv though so that's not a lot of help either.

So this is still a bit of a workaround but you can start terminal with rosetta support so everything run within it, will use the intel binaries and does not rely on arm64 binaries.

For this

  • go into you applications/utilities folder
  • create a duplicate of terminal
  • rename it to terminalRosetta or whatever else you'd like to call it
  • right click terminalRosetta
  • get Info
  • activate the tickbox for "Open using Rosetta"
  • run terminalRosetta (double click it)

Screenshot 2022-04-27 at 10 54 52

And then run your script or nodeenv directly from within terminalRosetta. I just tested this and for me it worked with nodeenv using node 12.22.12.

So as long as there are no binaries for darwin arm64 for node versions <16.* this seems to be your best bet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants