Discussion:
[elm-discuss] Local third-party packages
Lyle Kopnicky
2017-01-30 06:48:13 UTC
Permalink
What's the best way of referencing third-party packages in another
directory on the same machine? I'm talking about a package that isn't
available in the community package directory, but is available on GitHub. I
realize YMMV with such packages. Specifically, in this case,
https://github.com/bsouthga/elm-katex.

I tried creating a symlink in my project to it, and adding its source
directory to my elm-package.json, along with the native-modules: true flag.

The problem is that var _bsouthga$elm_katex$Native_KaTeX is hard-coded in
the native JS file. But when I build my project, because I'm using the
default project URL, it gets referenced as _user$project$Native_KaTeX,
which doesn't match. It seems the author was
copying https://github.com/evancz/elm-markdown/blob/master/src/Native/Markdown.js,
which uses the same convention. However, since that file is a community
package, when it's installed by the package manager, it will actually get
referenced correctly.

So I wonder if I can use elm-package to install a package from another
directory, so hopefully the references will work out right?

Another possibility is given by looking
at https://github.com/eeue56/take-home/wiki/Writing-your-first-Elm-Native-module.
Here the author shows some very different boilerplate, which doesn't seem
to involve the project name in the variable names. I'd have to copy the
elm-katex code into my own project and tweak it a bit, but that's OK for
now as I'll only be building/running my project locally for the foreseeable
future. Also I'd be able to update the version of KaTeX that's embedded in
the file.

Any other thoughts?

Thanks,
Lyle
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Peter Damoc
2017-01-30 07:23:04 UTC
Permalink
Post by Lyle Kopnicky
So I wonder if I can use elm-package to install a package from another
directory, so hopefully the references will work out right?
elm-package does not support that BUT, elm-github-install
<https://github.com/gdotdesign/elm-github-install> was designed for such
contexts.
Add the package manually to your dependencies and then use
elm-github-install to install it.
Post by Lyle Kopnicky
when I build my project, because I'm using the default project URL, it
gets referenced as _user$project$Native_KaTeX, which doesn't match.
You need a valid github project. Default values don't work. So, if you fork
the project and replace the user in that Native function name, you should
be able to compile it just fine.
Post by Lyle Kopnicky
Another possibility is given by looking at https://github.com/eeue56/
take-home/wiki/Writing-your-first-Elm-Native-module. Here the author
shows some very different boilerplate, which doesn't seem to involve the
project name in the variable names. I'd have to copy the elm-katex code
into my own project and tweak it a bit, but that's OK for now as I'll only
be building/running my project locally for the foreseeable future. Also I'd
be able to update the version of KaTeX that's embedded in the file.
The guide you referenced is for an old way to do Native. That API is
obsolete.
--
There is NO FATE, we are the creators.
blog: http://damoc.ro/
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Lyle Kopnicky
2017-01-31 05:50:07 UTC
Permalink
That worked great, thanks!

I used elm-github-install to install the bsouthga/elm-katex package
directly from GitHub. I didn't have to rename my own local project. I only
need to fork bsouthga's project if I want to update it to use a newer
version of KaTeX.

I didn't want to install gems in my global system dir as root, so I
installed rvm and the latest version of Ruby. Then I did gem install
elm_install.

Unlike elm-package where you can specify a package name and it will
automatically update your elm-package.json, I had to manually add an entry
each to dependencies and dependency-sources, then run elm-install. Then I
was able to build my project with no problem, and everything worked.
Post by Peter Damoc
Post by Lyle Kopnicky
So I wonder if I can use elm-package to install a package from another
directory, so hopefully the references will work out right?
elm-package does not support that BUT, elm-github-install
<https://github.com/gdotdesign/elm-github-install> was designed for such
contexts.
Add the package manually to your dependencies and then use
elm-github-install to install it.
Post by Lyle Kopnicky
when I build my project, because I'm using the default project URL, it
gets referenced as _user$project$Native_KaTeX, which doesn't match.
You need a valid github project. Default values don't work. So, if you
fork the project and replace the user in that Native function name, you
should be able to compile it just fine.
Post by Lyle Kopnicky
Another possibility is given by looking at https://github.com/eeue56/t
ake-home/wiki/Writing-your-first-Elm-Native-module. Here the author
shows some very different boilerplate, which doesn't seem to involve the
project name in the variable names. I'd have to copy the elm-katex code
into my own project and tweak it a bit, but that's OK for now as I'll only
be building/running my project locally for the foreseeable future. Also I'd
be able to update the version of KaTeX that's embedded in the file.
The guide you referenced is for an old way to do Native. That API is
obsolete.
--
There is NO FATE, we are the creators.
blog: http://damoc.ro/
--
You received this message because you are subscribed to a topic in the
Google Groups "Elm Discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/
topic/elm-discuss/eusppnDgN-A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Jens Egholm
2017-07-03 13:15:48 UTC
Permalink
Just a thought; shouldn't this be available through native Elm package
management?
Post by Peter Damoc
Post by Lyle Kopnicky
So I wonder if I can use elm-package to install a package from another
directory, so hopefully the references will work out right?
elm-package does not support that BUT, elm-github-install
<https://github.com/gdotdesign/elm-github-install> was designed for such
contexts.
Add the package manually to your dependencies and then use
elm-github-install to install it.
Post by Lyle Kopnicky
when I build my project, because I'm using the default project URL, it
gets referenced as _user$project$Native_KaTeX, which doesn't match.
You need a valid github project. Default values don't work. So, if you
fork the project and replace the user in that Native function name, you
should be able to compile it just fine.
Post by Lyle Kopnicky
Another possibility is given by looking at
https://github.com/eeue56/take-home/wiki/Writing-your-first-Elm-Native-module.
Here the author shows some very different boilerplate, which doesn't seem
to involve the project name in the variable names. I'd have to copy the
elm-katex code into my own project and tweak it a bit, but that's OK for
now as I'll only be building/running my project locally for the foreseeable
future. Also I'd be able to update the version of KaTeX that's embedded in
the file.
The guide you referenced is for an old way to do Native. That API is
obsolete.
--
There is NO FATE, we are the creators.
blog: http://damoc.ro/
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Peter Damoc
2017-07-04 06:27:03 UTC
Permalink
Post by Jens Egholm
Just a thought; shouldn't this be available through native Elm package
management?
NO!

This kind of unsafe use of code is and should forever be discouraged.

I have dabbled in Native code and the main lesson from my experiences is
that this is highly dangerous and should be avoided as long as possible.

There are contexts in which using Native is unavoidable but one should be
very careful treading on those paths. If they want to encourage others to
follow them, a warning should be issued about dangers.

The official package is for safe things that every beginner could use.
--
There is NO FATE, we are the creators.
blog: http://damoc.ro/
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-07-04 15:54:20 UTC
Permalink
Post by Peter Damoc
Post by Jens Egholm
Just a thought; shouldn't this be available through native Elm package
management?
NO!
This kind of unsafe use of code is and should forever be discouraged.
On the whole, yes. And it is not possible to publish these packages so
there is no danger of polluting the kernel.

The one exception I think, is for testing/development both on kernel code
and other libraries that you already have code running on top of. For
example, maybe I am hacking at the virtual dom code, or maybe I have my own
package that handles authentication that I want to make some changes too
but test an application against.

In the virtual dom kernel code case, I cannot publish that package, so how
to run my experimental changes?
In the auth case, I have not completed and tested my changes, so I should
not publish a new version of my package.

It is very handy to be able to substitute a package in the build to do
this. I use elm-install to accomplish this, so its not a problem being
absent from the official tool. But I don't think it would be a bad feature
to have in the official tool, and the safeguard of not being able to
publish native, effect or port modules to the package repo is there to make
it a safe feature.
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-01-31 10:00:12 UTC
Permalink
Post by Lyle Kopnicky
What's the best way of referencing third-party packages in another
directory on the same machine?
It would be nice if there was a way to do this - either by extending
elm-github-install or elm-install. The use cases I would like to see
covered are:

Installing from a git repo other than GitHub.
Being able to build an elm project and 'install' a copy of it to some local
repository (doesn't need to be anything more fancy than a directory on the
local file system) and reference it from there.
Being able to work with a 'development' version of a library. That is,
rather than version 2.2.0, I'd like to be able to reference 2.2.0-SNAPSHOT
(like Maven) or LATEST, or 2.2.0-LATEST or something like that.

I ran into this problem when I pulled out some of my native code into its
own repository. When I want to consume that in another project, I use
elm-github-install to reference it. Then I wanted to experiment with a new
feature (just a couple of lines), and I ended up pushing that back to
GitHub and tag it, just to try it out.

When Evan says he is working on 'packaging' for the 0.19 release, are these
things that are going to be addressed? I got the impression from a recent
update on elm-dev that 'packaging' is actually talking about how the
compiled code is packaged for inclusion in a web-page, to allow code re-use
instead of compiling everything to one big .js file, rather than how the
package management system works. It would be good to get some clarity on
this, as perhaps enhacing elm-github-install could be a useful area to
contribute to if it is not already planned.
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Oliver Searle-Barnes
2017-02-01 16:34:08 UTC
Permalink
elm-install is using the ruby-git gem which supports local git URIs of the
form file:///path/to/local/remote.git
Post by 'Rupert Smith' via Elm Discuss
Post by Lyle Kopnicky
What's the best way of referencing third-party packages in another
directory on the same machine?
It would be nice if there was a way to do this - either by extending
elm-github-install or elm-install. The use cases I would like to see
Installing from a git repo other than GitHub.
Being able to build an elm project and 'install' a copy of it to some
local repository (doesn't need to be anything more fancy than a directory
on the local file system) and reference it from there.
Being able to work with a 'development' version of a library. That is,
rather than version 2.2.0, I'd like to be able to reference 2.2.0-SNAPSHOT
(like Maven) or LATEST, or 2.2.0-LATEST or something like that.
I ran into this problem when I pulled out some of my native code into its
own repository. When I want to consume that in another project, I use
elm-github-install to reference it. Then I wanted to experiment with a new
feature (just a couple of lines), and I ended up pushing that back to
GitHub and tag it, just to try it out.
When Evan says he is working on 'packaging' for the 0.19 release, are
these things that are going to be addressed? I got the impression from a
recent update on elm-dev that 'packaging' is actually talking about how the
compiled code is packaged for inclusion in a web-page, to allow code re-use
instead of compiling everything to one big .js file, rather than how the
package management system works. It would be good to get some clarity on
this, as perhaps enhacing elm-github-install could be a useful area to
contribute to if it is not already planned.
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-02-01 16:57:22 UTC
Permalink
On Wednesday, February 1, 2017 at 4:34:09 PM UTC, Oliver Searle-Barnes
Post by Oliver Searle-Barnes
elm-install is using the ruby-git gem which supports local git URIs of the
form file:///path/to/local/remote.git
Interesting, but I don't quite follow. Could you show me an example of how
to use this in elm-package.json to refer to a local git repo?

Supposing I was hacking on 'core', if I replaced:

"dependencies": {
"elm-lang/core": "5.0.0 <= v < 6.0.0",

with

"dependencies": {
"file:///home/rupert/spikes/elm/core.git": "5.0.0 <= v < 6.0.0",

?

This is actually something I have been wondering how to do because I wanted
to do some hacking on elm-lang/virtual-dom, but I have no idea how to
import the hacked version into another project in order to try it out.
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-02-01 16:58:33 UTC
Permalink
Post by 'Rupert Smith' via Elm Discuss
This is actually something I have been wondering how to do because I
wanted to do some hacking on elm-lang/virtual-dom, but I have no idea how
to import the hacked version into another project in order to try it out.
Also, one does not normally include elm-lang/virtual-dom explicitly, it
gets sucked in as a transitive dependency of elm-lang/html or elm-lang/svg.
Is it possible to override transitive dependencies?
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Oliver Searle-Barnes
2017-02-01 21:57:43 UTC
Permalink
elm-github-install has a separate dependency-sources section which you can
use to override the dependency versions. The readme has the following
example

"dependencies": {
"gdotdesign/elm-install-test": "1.0.0 <= v < 2.0.0",
"elm-lang/core": "5.0.0 <= v < 6.0.0",
"elm-lang/svg": "2.0.0 <= v < 3.0.0",
"elm-lang/dom": "1.1.1 <= v < 2.0.0"
},
"dependency-sources": {
"elm-lang/core": "***@github.com:elm-lang/core",
"gdotdesign/elm-install-test": {
"url": "***@bitbucket.org:gdotdesign/elm-install-test",
"ref": "master"
}
}


So you would specify your file:///uri in the "url" property and whatever
git treeish value you want in "ref" (e.g. master). I'm not entirely sure
how it works in the case that you override a transitive dependency. It may
just ignore semantic versioning completely and use the version you've
specified in the git reference or perhaps it resolves the git ref then
pulls the version number in from it's elm-package.json. Because Elm uses a
flat dependency structure specifying the dependency explicitly will be
enough to constrain the transitive version as well.
Post by 'Rupert Smith' via Elm Discuss
Post by 'Rupert Smith' via Elm Discuss
This is actually something I have been wondering how to do because I
wanted to do some hacking on elm-lang/virtual-dom, but I have no idea how
to import the hacked version into another project in order to try it out.
Also, one does not normally include elm-lang/virtual-dom explicitly, it
gets sucked in as a transitive dependency of elm-lang/html or elm-lang/svg.
Is it possible to override transitive dependencies?
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Gusztáv Szikszai
2017-02-02 06:48:47 UTC
Permalink
Hey, author of elm-github-install here.

it resolves the git ref then pulls the version number in from it's
Post by Lyle Kopnicky
elm-package.json
This is basically how it works and it adds the ref as the build number
`1.0.0+master` , so this way it tracks what version to resolve and what
code to use eventually.

As I read this thread this morning, I realized that I can make the local
repositories work along with using different named repositories (forks) for
a package. I threw together a prof of concept for it:
https://github.com/gdotdesign/elm-github-install/pull/14

The basic method works:
{
"dependencies": {
"elm-lang/svg": "2.0.0 <= v < 3.0.0",
"elm-lang/dom": "1.1.1 <= v < 2.0.0",
"elm-lang/core": "5.0.0 <= v < 6.0.0"
},
"dependency-sources": {
"elm-lang/core": {
"url": "file:///path-to/elm-lang/core",
"ref": "master"
}
}
}

However I'm stuck a little and I would appreciate your thoughts on how to
handle transitive versions: what are the priorities when dealing with
different versions, this is what I am suggesting:

- 2 - current packages dependency - if the current package (the one we
are installing dependencies for) sets a source it will be the one we use
- 1 - packages dependency - if the current package doesn't have
dependency for a package but an other has we use that
- 0 - Github - if no package defines dependency for a package we fall
back to Github

Let me know if you are trying this branch out.

On Wednesday, February 1, 2017 at 10:57:43 PM UTC+1, Oliver Searle-Barnes
Post by Lyle Kopnicky
elm-github-install has a separate dependency-sources section which you can
use to override the dependency versions. The readme has the following
example
"dependencies": {
"gdotdesign/elm-install-test": "1.0.0 <= v < 2.0.0",
"elm-lang/core": "5.0.0 <= v < 6.0.0",
"elm-lang/svg": "2.0.0 <= v < 3.0.0",
"elm-lang/dom": "1.1.1 <= v < 2.0.0"
},
"dependency-sources": {
"gdotdesign/elm-install-test": {
"ref": "master"
}
}
So you would specify your file:///uri in the "url" property and whatever
git treeish value you want in "ref" (e.g. master). I'm not entirely sure
how it works in the case that you override a transitive dependency. It may
just ignore semantic versioning completely and use the version you've
specified in the git reference or perhaps it resolves the git ref then
pulls the version number in from it's elm-package.json. Because Elm uses a
flat dependency structure specifying the dependency explicitly will be
enough to constrain the transitive version as well.
Post by 'Rupert Smith' via Elm Discuss
Post by 'Rupert Smith' via Elm Discuss
This is actually something I have been wondering how to do because I
wanted to do some hacking on elm-lang/virtual-dom, but I have no idea how
to import the hacked version into another project in order to try it out.
Also, one does not normally include elm-lang/virtual-dom explicitly, it
gets sucked in as a transitive dependency of elm-lang/html or elm-lang/svg.
Is it possible to override transitive dependencies?
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Oliver Searle-Barnes
2017-02-02 16:59:25 UTC
Permalink
What do you think to using the version from the elm-package.json in the
cloned repo? That way it's as though you'd specified a hard constraint in
elm-package.json (e.g. 1.2 <= v <= 1.2) and then you can follow the usual
semantics.
Post by Gusztáv Szikszai
Hey, author of elm-github-install here.
it resolves the git ref then pulls the version number in from it's
Post by Lyle Kopnicky
elm-package.json
This is basically how it works and it adds the ref as the build number
`1.0.0+master` , so this way it tracks what version to resolve and what
code to use eventually.
As I read this thread this morning, I realized that I can make the local
repositories work along with using different named repositories (forks) for
https://github.com/gdotdesign/elm-github-install/pull/14
{
"dependencies": {
"elm-lang/svg": "2.0.0 <= v < 3.0.0",
"elm-lang/dom": "1.1.1 <= v < 2.0.0",
"elm-lang/core": "5.0.0 <= v < 6.0.0"
},
"dependency-sources": {
"elm-lang/core": {
"url": "file:///path-to/elm-lang/core",
"ref": "master"
}
}
}
However I'm stuck a little and I would appreciate your thoughts on how to
handle transitive versions: what are the priorities when dealing with
- 2 - current packages dependency - if the current package (the one we
are installing dependencies for) sets a source it will be the one we use
- 1 - packages dependency - if the current package doesn't have
dependency for a package but an other has we use that
- 0 - Github - if no package defines dependency for a package we fall
back to Github
Let me know if you are trying this branch out.
On Wednesday, February 1, 2017 at 10:57:43 PM UTC+1, Oliver Searle-Barnes
Post by Lyle Kopnicky
elm-github-install has a separate dependency-sources section which you
can use to override the dependency versions. The readme has the following
example
"dependencies": {
"gdotdesign/elm-install-test": "1.0.0 <= v < 2.0.0",
"elm-lang/core": "5.0.0 <= v < 6.0.0",
"elm-lang/svg": "2.0.0 <= v < 3.0.0",
"elm-lang/dom": "1.1.1 <= v < 2.0.0"
},
"dependency-sources": {
"gdotdesign/elm-install-test": {
"ref": "master"
}
}
So you would specify your file:///uri in the "url" property and whatever
git treeish value you want in "ref" (e.g. master). I'm not entirely sure
how it works in the case that you override a transitive dependency. It may
just ignore semantic versioning completely and use the version you've
specified in the git reference or perhaps it resolves the git ref then
pulls the version number in from it's elm-package.json. Because Elm uses a
flat dependency structure specifying the dependency explicitly will be
enough to constrain the transitive version as well.
Post by 'Rupert Smith' via Elm Discuss
Post by 'Rupert Smith' via Elm Discuss
This is actually something I have been wondering how to do because I
wanted to do some hacking on elm-lang/virtual-dom, but I have no idea how
to import the hacked version into another project in order to try it out.
Also, one does not normally include elm-lang/virtual-dom explicitly, it
gets sucked in as a transitive dependency of elm-lang/html or elm-lang/svg.
Is it possible to override transitive dependencies?
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Gusztáv Szikszai
2017-05-05 10:52:09 UTC
Permalink
I've been working on this in the last few days, and published 1.0.0
<https://github.com/gdotdesign/elm-github-install/releases/tag/v1.0.0> of
*elm-github-install* which handles using a fork (or any other git
repository for a package) and using a local directory. If anyone tries this
out some feedback would be nice.

Cheers :)
Post by Lyle Kopnicky
What's the best way of referencing third-party packages in another
directory on the same machine? I'm talking about a package that isn't
available in the community package directory, but is available on GitHub. I
realize YMMV with such packages. Specifically, in this case,
https://github.com/bsouthga/elm-katex.
I tried creating a symlink in my project to it, and adding its source
directory to my elm-package.json, along with the native-modules: true flag.
The problem is that var _bsouthga$elm_katex$Native_KaTeX is hard-coded in
the native JS file. But when I build my project, because I'm using the
default project URL, it gets referenced as _user$project$Native_KaTeX,
which doesn't match. It seems the author was copying
https://github.com/evancz/elm-markdown/blob/master/src/Native/Markdown.js,
which uses the same convention. However, since that file is a community
package, when it's installed by the package manager, it will actually get
referenced correctly.
So I wonder if I can use elm-package to install a package from another
directory, so hopefully the references will work out right?
Another possibility is given by looking at
https://github.com/eeue56/take-home/wiki/Writing-your-first-Elm-Native-module.
Here the author shows some very different boilerplate, which doesn't seem
to involve the project name in the variable names. I'd have to copy the
elm-katex code into my own project and tweak it a bit, but that's OK for
now as I'll only be building/running my project locally for the foreseeable
future. Also I'd be able to update the version of KaTeX that's embedded in
the file.
Any other thoughts?
Thanks,
Lyle
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-05-08 19:39:56 UTC
Permalink
Post by Gusztáv Szikszai
I've been working on this in the last few days, and published 1.0.0
<https://github.com/gdotdesign/elm-github-install/releases/tag/v1.0.0> of
*elm-github-install* which handles using a fork (or any other git
repository for a package) and using a local directory. If anyone tries this
out some feedback would be nice.
I forked another elm package and hacked it, and just want to be able to
reference it without tagging a release version or publishing. Will be a
very useful feature I think. I will try it out now, thanks.
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-05-08 20:09:11 UTC
Permalink
Post by 'Rupert Smith' via Elm Discuss
Post by Gusztáv Szikszai
I've been working on this in the last few days, and published 1.0.0
<https://github.com/gdotdesign/elm-github-install/releases/tag/v1.0.0>
of *elm-github-install* which handles using a fork (or any other git
repository for a package) and using a local directory. If anyone tries this
out some feedback would be nice.
I forked another elm package and hacked it, and just want to be able to
reference it without tagging a release version or publishing. Will be a
very useful feature I think. I will try it out now, thanks.
The installer seems to fail:

sudo npm install elm-github-install -g
Post by 'Rupert Smith' via Elm Discuss
/usr/local/bin/elm-github-install ->
/usr/local/lib/node_modules/elm-github-install/scripts/run.js
Post by 'Rupert Smith' via Elm Discuss
/usr/local/bin/elm-install ->
/usr/local/lib/node_modules/elm-github-install/scripts/run.js
/usr/local/lib/node_modules/elm-github-install
Post by 'Rupert Smith' via Elm Discuss
Post by Gusztáv Szikszai
node scripts/install.js
https://github.com/gdotdesign/elm-github-install/releases/download/v1.0.1/elm-install-1.0.1-linux-x86_64.tar.gz
Post by 'Rupert Smith' via Elm Discuss
events.js:163
throw er; // Unhandled 'error' event
^
Error: EACCES: permission denied, mkdir
'/root/.elm-install/elm-install-1.0.1-linux-x86_64'
Post by 'Rupert Smith' via Elm Discuss
npm ERR! Linux 3.16.0-4-amd64
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
"elm-github-install" "-g"
Post by 'Rupert Smith' via Elm Discuss
npm ERR! node v7.10.0
npm ERR! npm v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-05-08 21:25:31 UTC
Permalink
Post by 'Rupert Smith' via Elm Discuss
Post by Gusztáv Szikszai
I've been working on this in the last few days, and published 1.0.0
<https://github.com/gdotdesign/elm-github-install/releases/tag/v1.0.0>
of *elm-github-install* which handles using a fork (or any other git
repository for a package) and using a local directory. If anyone tries this
out some feedback would be nice.
I forked another elm package and hacked it, and just want to be able to
reference it without tagging a release version or publishing. Will be a
very useful feature I think. I will try it out now, thanks.
Was able to work around the npm installer issue by installing as a ruby gem
instead. Works nicely, and I was able to substitute a branch containing
work in progress - many thanks for these additions to elm-install. :-)
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Gusztáv Szikszai
2017-05-09 07:36:37 UTC
Permalink
I'm glad it worked :) I need to figure out something for the install
problem though, probably will find an other place where the binary can be
stored.
Post by 'Rupert Smith' via Elm Discuss
Post by 'Rupert Smith' via Elm Discuss
Post by Gusztáv Szikszai
I've been working on this in the last few days, and published 1.0.0
<https://github.com/gdotdesign/elm-github-install/releases/tag/v1.0.0>
of *elm-github-install* which handles using a fork (or any other git
repository for a package) and using a local directory. If anyone tries this
out some feedback would be nice.
I forked another elm package and hacked it, and just want to be able to
reference it without tagging a release version or publishing. Will be a
very useful feature I think. I will try it out now, thanks.
Was able to work around the npm installer issue by installing as a ruby
gem instead. Works nicely, and I was able to substitute a branch containing
work in progress - many thanks for these additions to elm-install. :-)
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
'Rupert Smith' via Elm Discuss
2017-05-09 19:04:25 UTC
Permalink
Post by Gusztáv Szikszai
I'm glad it worked :) I need to figure out something for the install
problem though, probably will find an other place where the binary can be
stored.
Its strange that when running "npm install -g elm-github-install" as root,
it cannot create a directory under /root/, as the root user would
definitely have the rights to do that. I don't really understand what is
wrong with it.

I would expect though, when installing with -g, that it gets installed
under "/usr/local/lib/node_modules/".
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Continue reading on narkive:
Loading...