Need help - ubuntu linux 14.04 LTS w/ xfce4 Atom build error - grunt file expecting Node in another directory


#17

hi folks,

o.k., to follow up on few of the questions/points made here —

  1. a lot of this is moot at this point because, as i have said, i now installed from an apt-get package and it was working o.k. (more on that i a moment). the best thing i can tell you at this point is to try following the original instructions i link to above in this thread from the Atom github site on installing on an install of ubuntu linux 14.04 LTS yourself, and try and follow through with the final grunt file part of the install and see what happens for you. this should not be an impossible or hard task - you can install ubuntu on a usb thumb drive and run it from there.

  2. @DavidLGoldberg - i wasn’t “avoiding” the node.js that comes in atom - but can that be used for deep level projects outside of Atom? isn’t it just Atom’s engine for running itself with all the coffeescript files? what i did was install node.js first because i knew i’d want to be doing some javascript & node.js projects and i wanted the latest node.js to do that, so i installed that first, then i went on to install Atom. are you saying people shouldn’t be allowed to install their flavor of node.js if they install Atom?

  3. @DavidLGoldberg - i’m not quite sure what you mean by your mention of nvm. also, i don’t know who i should file an issue with over the fact that, as @leedohm found and pointed out in the thread above, nvm doesn’t give root full acccess to node, which is why i had some of the initial install errors. do i file that here with Atom editor issues? with nvm? both?

  4. @DavidLGoldberg - i will try, when i can, the install apm tools within Atom and see how that goes, thank you for the suggestion.

  5. @abe - i don’t know how it came up in this thread, originally with @leedohm, or where anyone got the idea, it wasn’t from me, but i never put the Atom install in the linux /tmp directory nor did i create a /tmp directory and put anything into it. i downloaded the Atom *.tar.gz for linux and it went into my ubuntu linux /home/faddah/Downloads directory, and from the command line, after extracting it, i started the install from there, all the way through up to the problem with the script/grunt file. as everything seemed to be installed to the /usr/local/bin directory, i didn’t think that would be a problem. should i have moved the Atom install directory elsewhere, and to where, before i started the install from the command line? if yes, the instructions need to be re-written to explicitly state this.

  6. @abe - i did not run the script/grunt file with --debug --stack --verbose as the instructions don’t say to and no one in this thread said to try it before this, and, as i say above, i’ve all ready installed Atom now with an apt-get package. is this something you want me to try? will it screw up my current Atom install if i try that?

  7. @abe - i don’t have locate, i have find. sudo find / -name "atom.sh" 2> /dev/null returns —

    /opt/atom/resources/app/atom.sh

and sudo ls /tmp/atom-build/Atom returns —

ls: cannot access /tmp/atom-build/Atom: No such file or directory

…but this is to be expected, because, as i say above, i never put the Atom install in a /tmp directory nor did i ever say i did. and sudo find / -name "atom-build" 2> /dev/null returns nothing.

  1. finally, my install of Atom got bork’d. :tired_face: the ubuntu update manager told me there was an update for Atom, from 0.139.0 to 0.140.0, through the PPA i put in for the Atom package, so i went for it. ever since then, every time i bring up atom, i can’t get the settings window or any file, and the dev tools immediately shows a loooooooooong stack trace at start up with things about conflicts with the package manager and the Atom start window. so i don’t know what to do at this point. maybe re-install and lose all the packages i’ve put in so far.

sigh. that’s where it stands. this is why i say the linux installs and updates need to be looked at and made far simpler/cleaner.

best,

— faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#18

I finally got around to actually looking at the instructions you linked. While the Atom team is making a deb package available, to my knowledge they do not make it available on any particular PPA server yet:

The last update I see on this front is this comment by @kevinsawicki. Until the Issue above is resolved, any PPA should be considered “unofficial”.

I agree that the Linux installs and updates could be made cleaner. I’ll see if I can carve out some time this weekend with a VM and Ubuntu 14.04.

Also @faddah, I hope that this flood of feedback hasn’t been frustrating for you. Everyone is just excited to see if they can help fix things for you :grinning:


Better to instal Atom on Linux via downloading .deb, or via PPA?
Validating Atom's installation and build instructions for Ubuntu
Suggested edit to installation documentation
#19

oh @leedohm - please understand, i am very happy with you, @abe and @DavidLGoldberg all responding and trying to make this work better. open source FTW! but i just have been responding to clarify, in detail, any misconceptions they might have in the thread we’ve been having.

i knew the PPA i used for the apt-get install atom was not “officially” supported, but it worked for the version at the time and got me out the easy way with what was the latest version then, 0.139.0, so i wasn’t complaining.

in any case, as i said, my install of Atom via the PPA package got bork’d when i was offered an update throught the ubuntu update manager. see my last point in my previous response above. so now i probably have to re-install anyway, and have all my installed packages thus far lost. durn. oh well. onward. but yes, i would love to hear what happens when you look at this on an ubunut linux 14.04 LTS VM. please keep me informed.

best,

– faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#20

well durn again - i did a complete –

sudo apt-get remove --purge atom

which removed the bork’d version, then tried re-installing with –

sudo apt-get install atom 

from the webupd8.com PPA i added, and it still is bork’d on launch, Atom editor version 0.140.0. here is the stack trace i get on launch –

TypeError: Cannot read property 'context-menu' of undefined
  at Package.module.exports.Package.activateResources (/opt/atom/resources/app/src/package.js:283:64)
  at /opt/atom/resources/app/src/package.js:207:19
  at Package.module.exports.Package.measure (/opt/atom/resources/app/src/package.js:157:15)
  at Package.module.exports.Package.activate (/opt/atom/resources/app/src/package.js:205:14)
  at PackageManager.module.exports.PackageManager.activatePackage (/opt/atom/resources/app/src/package-manager.js:404:21)
  at PackageManager.module.exports.PackageManager.activatePackages (/opt/atom/resources/app/src/package-manager.js:393:14)
  at PackageManager.module.exports.PackageManager.activate (/opt/atom/resources/app/src/package-manager.js:379:19)
  at Atom.module.exports.Atom.startEditorWindow (/opt/atom/resources/app/src/atom.js:526:21)
  at Object.<anonymous> (/opt/atom/resources/app/src/window-bootstrap.js:12:8)
  at Object.<anonymous> (/opt/atom/resources/app/src/window-bootstrap.js:23:4)
  at Module._compile (module.js:468:26)
  at Object.Module._extensions..js (module.js:486:10)
  at Module.load (/opt/atom/resources/app/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (module.js:318:12)
  at Module.require (module.js:373:17)
  at require (module.js:392:17)
  at window.onload (file:///opt/atom/resources/app/static/index.js:34:25)
 index.js:48

don’t know if anyone can help with this, being that it is “unofficial,” but thought you’d want to know.

best,

– faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#21

@faddah, as per 2&3. Yeah you’re right you should be able to install node on the system prior or later for your own purposes. I was just saying Atom should be left to have it’s own unique / maybe duplicated one is all I meant.

Also, node for development is almost always done with nvm, that’s all I’m saying.

So if you want to do your own node code, you should probably be running a node through nvm just a suggestion.


#22

hi @DavidLGoldberg,

o.k., i understand you better now. i do aagree, you should be able to install whatever flavor of node.js you need prior to and in addition to Atom and whatever flavor of node.js it installs. as for nvm, i would love to use at, but as @leedohm points out in the thread above, it does not give access to root, and part of our steps toward a partial solution above was uninstalling nvm and its various installed node.js versions and reinstalling node.js in the standard downloaded *.tar.gz file from nodejs.org, extract it and install it with sudo ./configure && make && sudo make install. that got the script/grunt file for atom to at least almost work without any node not found errors.

best,

— faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#23

also, once again, it’s not clear where i should post that fact that nvm does not give access to root - as an issue for the github repository for nvm? the atom issues? both?

best,

— faddah wolf
portland, oregon, u.s.a.


#24

nvm isn’t Atom’s product, so I would post it on the nvm repository if you believe it should. From what I understand though, multi-user installs of tools like [nr]vm can easily open significant security risks:

http://rvm.io/rvm/install - See the section titled Installation Explained


#25

hi @leedohm,

well, not to be contentious or anything, i do appreciate the responses and help, but now i’m getting two, and a bit conflicting, different sets of info. i have @DavidLGoldberg in this thread telling me i should be using nvm all i want as the preferred method of installing node.js and having various versions available of it for testing, and i have you, @leedohm telling me both nvm and what you like for ruby, rvm, on multi-user installs “…easily open significant security risks” (i am the only user on my linux install, btw).

see why i might be a bit apprehensive/confused here?

also, i’m not sure nvm has these same problems as ruby’s rvm.

in any case, i filed, as you suggested, the issue #569 at the nvm github repository issues, in case any of you want to mark and watch it. and again, i am grateful for all the responses and help.

best,

– faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#26

update for all ( @leedohm, @DavidLGoldberg & @abe) —

well, the nvm issue got closed out immediately by @LJHarb there, saying, and i quote:

“That’s a huge problem with grunt, not one with nvm. Nothing should need root access. Please file an issue on grunt itself. See #43 for context about nvm and root.”

so i went ahead and created the nearly identical issue over at the Github gruntjs repository, issue #1243. @LJHarb also commented there, saying similar stuff to what @DavidLGoldberg has said here.

so let’s see what happens with the gruntjs folk. also interested to see what happens when you folks test out the linux install.

thank you again for all the help.

best,

— faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#27

…aaaaaand, just as i posted that last one, @vladikoff of the gruntjs github repository closed it with a terse: “Grunt doesn’t need root access.” no further help or explanation.

dunno where that leaves us.

best,

— faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#28

nvm is loosely based on rvm but only modifies the $PATH in the current shell. It’s intended to install node entirely within $HOME, so that no root permissions are ever needed, and so that nothing can be accidentally shared with other users. If anyone becomes aware of any security issues around using nvm in this way, please post them at http://nvm.sh (github issue tracker) and I’ll address them ASAP.

Installing a system version node also doesn’t necessarily mean you’ll have root access, so I’d hope that’s not an assumption that a tool would make (that one has root access).

I’ll be glad to help make nvm work well for everyone’s use case if I can :slight_smile: and apologies if I seemed terse in closing the github issue.


#29

hi @LJHarb,

thank you for the reply - to clarify, i said @vladikoff of the gruntjs github repository was terse, not you. that said, thank you for the offer of help. i’m sure @leedohm, @DavidLGoldberg and @abe might have some questions for you on making this whole situations for the Atom linux install work.

best,

— faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#30

I’m not sure that nvm has the same problems as rvm … nor do I know that it doesn’t. So I’m not going to recommend that it be used in such a way that might … even on the off chance … cause a security issue.

But, I don’t want to be accused of giving anyone false or misleading advice … so I’m going to carve out some time this weekend and just go through the Atom install instructions and build instructions. I’ve got a completely clean install of Ubuntu 64-bit 14.04 in a VM and have a snapshot of it at the clean state so I can start fresh each time. I’ll document my findings and post them.


#31

I’ve posted my findings in this new topic:


#32

hi @leedohm,

i see what you did over there and am grateful for it.

i do notice you did a number of steps in that new thread that are not the steps i describe above that i went through. but i will post my comments over there. i don’t know if there is a way to “close” a discussion thread, like you close an issue, but if you want to do that with this thread, you can. i’ll continue over at the new thread. thank you for all your very detailed work here, it is much appreciated.

best,

– faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#33

The reason why I posted the validation as a separate topic is partially for the reason you point out. I was validating Atom’s build and install instructions … not the approach you took. For that reason, I believe that it should be a separate topic … because this topic is to help you get Atom working the way you want and that one is for discussion specifically of Atom’s Ubuntu instructions.

I do have the ability to close a topic. Since I see these as two separate, if related, topics, I’ll be leaving this one open for now.


#34

@faddah I never intended you to use nvm to install the node that atom will use. I said for your own custom node development as in, like a new web service or something, you’d probably want to have nvm set up. I already mentioned the node used for atom, should be installed by whatever atom installers and should be left alone.


#35

hi all, esp. @leedohm & @DavidLGoldberg,

i took most of the weekend off to attend to some personal biz and am still doing some of that.

just as clarification - @DavidLGoldberg, i never thought that’s what you were saying about nvm, nor did i indicate that at any point. i was just saying nvm should be able to be used to install various versions (for testing) of node.js without running into the problem @leedohm previously mentioned of the grunt file needing a node.js install that has root access. this was confirmed both by @LJHarb here of nvm and a bit tersely without much further help or explanation by the folks over at grunt.js on github (the folks from grunt.js being terse, i mean, not anyone here).

@leedohm - o.k., again, i appreciate all your help, and the detailed testing & listing you went through in showing a successful Atom install on your ubuntu linux 14.04 LTS VM clean install. however, as i mentioned before, there are several places i noticed in that where you not only deviated from what i described i did, but also deviate from how both node.js says to install if you download their *.tar.gz from nodejs.org and also from the wiki documents on how Atom says to install. my confusion is — where would you like me document these differences? here or over at the new discussion you created? please let me know, and when i have a bit more time, i’ll do that, if you want it.

thank you all again.

best,

— faddah wolf
portland, oregon, u.s.a.
github.com/faddah


#36

If it is a difference between what the Atom install instructions say and what I did (which would be surprising, since I read them straight off the website that day), please document them in the other topic. If it is a difference between what I documented and how you want to configure your environment … document them here.