Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Maher
    @Khdeir_gitlab
    image.png
    Hello,
    has anyone faced that error before
    I ran it locally it works fine
    but when trying to deploy to azure app service, I get that error
    Onur Gumus
    @OnurGumus
    @Khdeir_gitlab I have never seen that error, the only thing I noticed, this is a very old version of windows 10.
    kevkov
    @kevkov
    Hello, is it possible to get access to an azure devops nuget repo from paket in an azure devops build pipeline? The various sources I have found appear a bit of date or incomplete. Do I have to rely on a credentials provider? Can I use paket credentials config?
    1 reply
    LuisFX
    @LuisFX
    Hi,
    I'm trying to install paket on android (aarch64 or ARM64). The tool is installed by "dotnet tool restore", but it doesn't seem to work at all. Any help would be appreciated.
    mecusorin
    @mecusorin_twitter

    Wanted to play with the new fsi features in a new folder:

    dotnet new tool-manifest
    dotnet tool install paket
    dotnet paket init
    dotnet paket add FSharp.DependencyManager.Paket

    Change the settings.json for VSCode to include

    {    
        "FSharp.fsiExtraParameters": [
            "--compilertool:c:/Users/Sorin/.nuget/packages/fsharp.dependencymanager.paket/6.0.0-alpha053"
        ]
    }

    Then create something.fsx with the content:

    #r "paket: FParsec"
    open FParsec

    And send to the FSI the content of the file
    I get the error

    somethig.fsx(2,1): error FS3216: Package manager key 'paket' 
    was not registered in [C:\Program Files\dotnet\sdk\5.0.100\FSharp; C:\Program Files\dotnet\sdk\5.0.100\FSharp\], [c:/Users/Sorin/.nuget/packages/fsharp.dependencymanager.paket/6.0.0-alpha053]. Currently registered: nuget

    What I am doing wrong?

    mecusorin
    @mecusorin_twitter
    Also attempted with settings.json containing:
      {
        "FSharp.fsiExtraParameters": [
            "--compilertool:c:/Users/Sorin/.nuget/packages/fsharp.dependencymanager.paket/6.0.0-alpha053/lib/netstandard2.0"
        ]
    }
    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