Git Product home page Git Product logo

Comments (19)

rnchamberlain avatar rnchamberlain commented on August 31, 2024 1

@davidmarkclements you are right, see #65, the readme was updated to document the npm install, but we need a npm publish for that to show up

@indutny @hhellyer see #49, want me to do the changelog/version/npm publish?

from llnode.

indutny avatar indutny commented on August 31, 2024

I don't mind if someone will make it work 😉

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

It would definitely be nice to have a simpler way to install llnode, especially on Linux.
I'm not 100% sure on using npm to install things that aren't going to be node code but there's also the possibility of adding a javascript API to llnode in which case it would make more sense.

It could write a plugin load command to ~/.lldbinit instead of needing root access to install the plugin in lldb's plugin directory. There will probably be issues around using the right version of lldb, on ubuntu it's possible to have multiple versions installed as lldb-3.8, lldb-3.9.

I'm happy to take a look at doing this. Should we reserve the name llnode on npmjs.org?

from llnode.

indutny avatar indutny commented on August 31, 2024

Sure, go ahead!

from llnode.

Fishrock123 avatar Fishrock123 commented on August 31, 2024

Two things: make sure you register with a version that llnode has not used, like 0.0.0. Also, we should publish some basic install instructions there in the mean time.

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

I've grabbed the llnode npm name. I've added @indutny as a collaborator. (Assuming that isn't someone else with the same picture on npmjs.org.)
I assume the npm installer should work for Mac and Linux (as a minimum) and I'll probably look at what the brew installer is doing.

from llnode.

indutny avatar indutny commented on August 31, 2024

(Yep, that's me)

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

@indutny Making progress on this but I've got a question, why did you use llnode.gyp instead of binding.gyp?

The background to this is that for some reason npm doesn't copy llnode.gyp (Edit: it doesn't copy it even if you add a files entry) I think there's something special about .gyp but I don't know what. Also you can't stop npm copying binding.gyp.
I may end up changing the build process slightly, I'm also trying to figure out if it's possibly to use the gyp packaged with npm rather than cloning it during the build process so the only thing that may need cloning is the lldb headers.

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

I've pushed a branch https://github.com/hhellyer/llnode/tree/npm_prototype which you are welcome to try however it's not final, part of the reason for pushing to github is to make it easy to test it on more machines.

from llnode.

indutny avatar indutny commented on August 31, 2024

@hhellyer splendid! Will take a look.

btw, I forgot to mention it, but I have solved similar problem in bud: https://github.com/indutny/bud

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

Cool, I've flattened the branch a bit and copied your solution to .gyp. I still need a better solution for not cloning gyp than my current one but I'm going to do some testing with different installs of lldb first in case I hit any show stoppers.

from llnode.

indutny avatar indutny commented on August 31, 2024

@hhellyer looks pretty cool except for the JS code style ;) Feel free to open PR whenever you'll feel that it is ready and we will collaborate there on it!

Thank you

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

I've updated the prototype, if anyone wants to try it. It's a bit neater and now outputs the lldb command to use to load the plugin.

I've a couple of questions before I turn it into a PR:

  • Is there any use in putting up this up as an npm, for example with a version of 0.0.1, for testing? (Does that behave differently to a git install?)
  • Does anyone have a better idea for locating gyp? (Better than my use of npm explore in configure.js!) I'm trying to avoid having to download if as it is possible to avoid doing any git clones if the lldb headers are already on the machine.

It can be installed from git with:
npm install hhellyer/llnode#npm_prototype

from llnode.

hhellyer avatar hhellyer commented on August 31, 2024

@Fishrock123 - Can I close this now? (Or can you?)

from llnode.

davidmarkclements avatar davidmarkclements commented on August 31, 2024

just to note, I put this together for Mac and Ubuntu a few months ago

It's published to npm

$ npm install -g llnode-setup
$ llnode-setup

Uses a slightly different approach - detects OS and then runs the install steps for that OS

Extendable by adding .sh files and adding detection to the cmd.js file

If you're thinking there's a more suitable approach, I'll also happily donate llnode-setup namespace

(cc @lucamaraschi)

from llnode.

davidmarkclements avatar davidmarkclements commented on August 31, 2024

oh wait - the github readme says you can npm install llnode
but the npm readme hasn't been updated

from llnode.

indutny avatar indutny commented on August 31, 2024

@rnchamberlain that would be awesome! Thank you!

from llnode.

rnchamberlain avatar rnchamberlain commented on August 31, 2024

@indutny @hhellyer right oh, will do. I'll need the powers on llnode to push the changelog and the release/tag, also on https://www.npmjs.com/package/llnode to do the publish - thanks.

edit: @hhellyer did the npm permission - thanks

from llnode.

bnoordhuis avatar bnoordhuis commented on August 31, 2024

Closing, fixed by #60. #77 is the tracking issue for npm install -g llnode.

from llnode.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.