picklesdoc / pickles

The open source living documentation generator
http://www.picklesdoc.com/
Apache License 2.0
464 stars 164 forks source link

Pickles did not complete successfully Could not find a part of the path '/dev/fd/102'. #633

Open zadigus opened 2 years ago

zadigus commented 2 years ago

I have the following docker image:

FROM busybox AS unpack

ARG RELEASE_VERSION=4.0.1

ADD https://github.com/picklesdoc/pickles/releases/download/v${RELEASE_VERSION}/Pickles-exe-linux-x64-${RELEASE_VERSION}.zip /tmp/pickles.zip

RUN unzip /tmp/pickles.zip -d /pickles \
  && chmod +x /pickles/Pickles

FROM mcr.microsoft.com/dotnet/runtime:6.0

COPY --from=unpack /pickles /pickles

When I run

docker build . -t pickles:local
docker run -it pickles:local bash

and then run

cd /pickles
./Pickles

then I get no error. If I, however, run

cd /
/pickles/Pickles

then I get the following error

Pickles did not complete successfully Could not find a part of the path '/dev/fd/102'.

Is that a bug or am I misusing your software? With the last version of Pickles I used in the past (v2.21.1), with mono, I was able to run

/mono /pickles/Pickles.exe

without any problems.

zadigus commented 2 years ago

The same occurs when I build the following docker image (for pickles version 3.0.1; version 4.0.1 can't be installed through nuget):

FROM mcr.microsoft.com/dotnet/sdk:3.1

RUN dotnet tool install -g Pickles.CommandLine --version 3.0.1

Then in the docker container, when I run

export PATH="$PATH:/root/.dotnet/tools"
pickles

then I get

Pickles v.0.0.0.0

Generating documentation based on the following parameters 
----------------------------------------------------------
Feature Directory              : /
Output Directory               : /
Project Name                   :
Project Version                :
Language                       : en
Incorporate Test Results?      : No
Include Experimental Features? : No
Exclude Tag                    :
Technical Tag                  :
Pickles did not complete successfully Could not find a part of the path '/dev/fd/104'.

If I, however, switch to /root/.dotnet/tools, then the pickles command outputs

Pickles v.0.0.0.0

Generating documentation based on the following parameters 
----------------------------------------------------------
Feature Directory              : /root/.dotnet/tools
Output Directory               : /root/.dotnet/tools
Project Name                   :
Project Version                :
Language                       : en
Incorporate Test Results?      : No
Include Experimental Features? : No
Exclude Tag                    :
Technical Tag                  :
No features found at /root/.dotnet/tools 
Pickles completed successfully 

In the docker container, if I run

mkdir /features
ln -s /root/.dotnet/tools/pickles /features/pickles
cd /features
pickles

then it also works fine. Of course, this must only be a temporary work-around.

zadigus commented 2 years ago

Also note that the Pickles version is not right in the above Pickles output.

zadigus commented 2 years ago

Note that the error

Pickles did not complete successfully Could not find a part of the path '/dev/fd/104'.

does not pop up if a features folder was found and the report generation is successful.

ericcmmi commented 2 years ago

Sorry for the problems here. I'm working on the issue with the Nuget package. Hope to push an update soon.