Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    mecusorin
    @mecusorin_twitter

    the error was:

    exception while resolving dependencies: System.Exception: Paket was not found in 'd:\dev\fsharp\sandbox\mlnet' or a parent directory, or 'C:\Users\Sorin'. Please download the tool and place it in one of the locations.

    We need to make the tool search the default tools folder

    I iterate: What is the idiomatic way to make this work? What I am doing wrong in my approach?
    Gauthier Segay
    @smoothdeveloper
    @mecusorin_twitter Hello, you also need to have paket.exe in either location up the directory structure, or in your user directory, it expects a .paket folder with paket.exe
    if that solves the issue, could you help improve the current documentation: https://github.com/fsprojects/Paket/blob/master/docs/content/fsi-integration.md ?
    I personally go with the first route, I copy the assembly next to fsi.exe
    the other thing, is how you reference with paket in the script, it keeps the same syntax as paket.dependencies file, so you'd need:
    #r "paket: nuget FParsec"
    open FParsec
    mecusorin
    @mecusorin_twitter
    @smoothdeveloper Thanks for reply. Don't want to copy paket.exe near fsi.exe, because is the short path to a lot of funny issues as soon as paket changes major (or even minor) version. I was thinking that the best bet is to add to the paket tool a command to setup itself (or a list of steps for the user to follow) for fsi integration. Something similar with the generate-load-scripts. About the actual script good catch!
    Gauthier Segay
    @smoothdeveloper
    @mecusorin_twitter it is just the extension dll you need to copy there
    ok, yes we should consider better installation scenario, for now I'm trying to keep the documentation as straight forward so it works for usual scenarios, for me it is working well with dotnet fsi and Visual Studio 2019 copying the dll and having a version of paket under ~/.paket/paket.exe
    mecusorin
    @mecusorin_twitter
    @smoothdeveloper Why is not having another default to search for ~\.nuget\packages\paket\ ... ?
    Gauthier Segay
    @smoothdeveloper
    @mecusorin_twitter I don't think this is default? is it?
    mecusorin
    @mecusorin_twitter
    I was saying in addition to the current default
    Gauthier Segay
    @smoothdeveloper
    because it would need to check the latest version, which is more logic in the extension
    I think we'd just want to rely on dotnet paket in the future, by the time we made the prototype of the extension, I don't know if it was already used as a dotnet tool.
    Would you mind creating a discussion issue on paket repository to list some of the improvements you'd like to see and we can try to bring some of the maintainers to see what makes most sense.
    mecusorin
    @mecusorin_twitter
    And again the same issue, I need to manually copy something somewhere I will forgot about and will byte me back without knowing what is wrong
    Gauthier Segay
    @smoothdeveloper
    historically, paket users are expected to have a .paket somewhere in the folder hierarchy where they do their scripts, and leverage generate-load-scripts.
    mecusorin
    @mecusorin_twitter
    image.png
    For reference this are my home folders we talked about:
    Gauthier Segay
    @smoothdeveloper
    for now this is only deployment scenario, copying dll or passing argument to fsi / tooling, to make it more robust will require some engineering, I don't think it is simple, and you can see that Microsoft just copies the nuget version of the extension next to FSI, for now most natural is to do the same.
    mecusorin
    @mecusorin_twitter
    I have paket installed as global tool also
    Gauthier Segay
    @smoothdeveloper
    You may contribute to the extension, it is not lots of code.
    mecusorin
    @mecusorin_twitter
    Will take a look
    this is the specific part, I think it is ok to add location you mention to try.
    if you are able to get it working with the updated instructions, could you leave a comment to my PR just to confirm: fsprojects/Paket#3949
    mecusorin
    @mecusorin_twitter
    @smoothdeveloper Looking at the code: I observed that is invoking the tool, why not doing dotnet paket instead directly, and if that fails to fallback to searching the tool to invoke it the way is doing it now?
    Gauthier Segay
    @smoothdeveloper

    yes that sounds reasonable, I'm not sure it is doable to test if dotnet paket exists because then it would incur the cost of running the command and checking the return value or parsing the output, not sure if that amounts for significant time before checking the folders.

    There is also the question of the priority order in which those checks would go.

    I guess when most of this code was put in first place (was in fsharp repo) the dotnet tooling was not yet available as it is since dotnet core 3
    mecusorin
    @mecusorin_twitter
    We need to talk with @forki about this, I want to invest some time in this, but only when everything is clear about the best course of action
    mecusorin
    @mecusorin_twitter
    I suppose that we can check the dotnet tool manifest file for paket
    Gauthier Segay
    @smoothdeveloper
    @mecusorin_twitter you may either create an issue or append comment to my PR on the doc to keep track of the idea to run dotnet paket and additional folders in the lookup, I think that will help Steffen to pick up and put his answer in the issue / PR
    Gauthier Segay
    @smoothdeveloper

    and yes, no problem you don't have to look at implementing in the project, you may play around in script to try to call dotnet paket or check the manifest.

    It seems dotnet tool list would give easy output to parse, looking if the implementation of that command can be referenced in the code.

    ~/.dotnet/tools/paket.exe would be for the global install.
    mecusorin
    @mecusorin_twitter
    Gauthier Segay
    @smoothdeveloper
    @mecusorin_twitter great job, I like the things you've outlined about the order.
    Justin Wick
    @JustinWick

    Hello Paket folk! I'm moving from OCaml to F#, and I use Paket for managing dependencies--very much enjoying its power and flexibility, reminds me a bit of poetry for python. I'm finding that some libraries are hard to learn without having the source code available. I can manually hunt down the exact commit version I have on GitHub.

    Is there a way for Paket to download the source code for a given dependency, and present it to my IDE (I use Rider, I can figure that half out) in a manner suitable for browser and runtime debugging?

    I'm OK with pulling from GitHub if necessary, and hunting down the proper tag/hash. Surely someone else wants to do this! Thanks!

    Justin Wick
    @JustinWick

    @rmunn

    @JustinWick Have you tried running dotnet paket install after the dotnet paket add command? I vaguely recall that in some cases, dotnet paket add didn't do the "install" step for reasons I can't recall now (probably I was doing something wrong). I've also found that sometimes I need to reload the VS Code window and suddenly the "namespace or module not defined" errors go away, because the VS Code language server process had cached an old version of the project and so it didn't see the results of paket add until I refreshed the VS Code window.

    Sorry I forgot to thank you. Yeah, it turns out deleting the cache and reloading solved most of these problems. After burning about 12 hours trying to get VS Code to work for F# without constant reloading, I gave up, moved to Rider, and couldn't be much happier. Rider + PyCharm for me now. My emacs is starting to get lonely.

    Harald Steinlechner
    @haraldsteinlechner
    hi! i'm trying to push packages via paket push to github. is this working for anybody? i'm getting 405. with nuget it works. i will dig deeper if you think it should work ;) PS.: nguet for example works. EDIT: oh just found out - need to emove /index.json from feed url
    Michal Steyn
    @michalsteyn
    Is Paket dead?
    I'm trying to do a basic: dotnet publish on an Asp.Net Project, and it clearly is missing dll's in the publish directory.
    I love Paket, but concerned that the project is not keeping up to date with .Net 5
    Justin Wick
    @JustinWick
    @michalsteyn: Same
    I wish it were easier to figure out which F# stuff was dotnet 5 ready. Also, still not sure that I should bother with Paket instead of just using Nuget which is much, much easier to get support for.
    Mark Pattison
    @markpattison
    There is likely to be a paket 6.0 release soon, judging by recent commits - still lots of development happening.
    Justin Grote
    @JustinGrote
    Hello, question about the paket clitool directive. When I do it, it downloads the package and saves it to my packages folder, but it doesn't seem to add the local tool to the project manifest or otherwise make it available for use, I seem to need to do all that stuff manually. I don't see anything in the source code that suggests it operates on the manifest, am I missing something or is that how intended? If so then what is its use vs. doing dotnet tool restore?
    Nicolas Bourbaki
    @b0urb4k1
    I am currently trying to use a multi target nuget package in a 4.7.2 framework project. How do i tell paket in the dependencies file to use the netstandard2.0 lib? When i restrict the package it will only add the TargetFrameworkIdentifier for standard and thus it will not use the lib.
    Nicolas Bourbaki
    @b0urb4k1
    Is that even possible? It seems that you can not do so in nuget either ...
    Nicolas Bourbaki
    @b0urb4k1
    In case of standard it still could add framework to the condition.