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


#13

Ditto. What abe said. I’ll take a look at it tonight. I run Atom primarily on Mac, but know/use linux for our servers etc.

BTW. Grunt is old. Gulp is “the new hotness”. :stuck_out_tongue:
(so, while I’m somewhat kidding, there is actually some serious advantages of gulp should check it out).


#14

as a nØØB, i would lean probably more toward gulp myself, but not so much for its “new hotness,” but due to the fact it uses streams as the basis for what it does. grunt, however, has a far larger, established user base, however much gulp may be on its heels, and because it was first in its field as a js/node task manager, it has, i believe, close to four times the amount of associated plug-ins written for it over gulp. that might change, but that’s how it stands now.

but the point here is, it is a grunt task file that is supplied with Atom for the linux install to complete the final part of the install, and it doesn’t seem to be, well… completing.

best,

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


#15

Yeah, I actually read more on the train, and realized you were talking about that stuff. I’ll try to take a look at this again later, but I think yeah, shouldn’t have to use so much sudo. I would think apt-get for normal stuff. Nvm for node dev.

Also, I thought I read that atom included it’s own node, you trying to avoid that? I haven’t delved that deep into that part of it. I haven’t had to which is a good thing heh.

As for apm, there’s the built in gui driven (from the menu) “install apm tools” once your atom is working. Which may or may not work on linux when it’s all set up correctly heh.

I really, really don’t think anyone should have to touch nvm if they’re just trying to install atom and not work on code with various node versions. I could be very wrong.


#16

Have you tried running the command with --debug, --verbose or --stack option like this?

sudo script/grunt --debug --stack --verbose install

If you have a warning when running the script you should be able to get more details on the issue with this.

I’m no longer on Ubuntu but I find it weird that it installs and links to a binary located in /tmp, it should be in /usr/local which is the default for this kind of stuff.

The script source show that it install in /usr/local unless INSTALL_PREFIX is defined:

https://github.com/atom/atom/blob/master/build/Gruntfile.coffee#L63

It seems there’s some conditions as to where Atom is installed on Linux (https://github.com/atom/atom/search?utf8=✓&q=%2Ftmp), maybe there’s a track to follow here.

Also, have you tried using locate atom.sh or ls /tmp/atom-build/Atom to see if there’s something there?


#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:


Suggested edit to installation documentation
Validating Atom's installation and build instructions for Ubuntu
Better to instal Atom on Linux via downloading .deb, or via PPA?
#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