buildinspace / peru

a generic package manager, for including other people's code in your projects
MIT License
1.12k stars 69 forks source link

Lots of "export path <path> doesn't exist" error messages on Windows Server #207

Open Dmitry-Me opened 4 years ago

Dmitry-Me commented 4 years ago

I got Selenium IDE sources from their release branch https://github.com/SeleniumHQ/selenium-ide/tree/v3 and try to "peru sync" it on Windows Server under Git Bash. According to travis.yml I have to first install Python 3.6.0, then use it to install peru:

 pip3 install peru

then I have to "peru sync". The peru.yaml file goes like this:

imports:
    atoms: "packages/selenium-ide/selenium/atoms"
    selenium-atoms: "packages/selenium-ide/selenium/selenium-atoms"
    selenium-core: "packages/selenium-ide/selenium/selenium-core-scripts"
    webdriver: "packages/selenium-ide/selenium/webdriver"
    third_party: "packages/selenium-ide/selenium/third_party"

git module atoms:
  url: https://github.com/SeleniumHQ/selenium
  rev: 07c4a7c99eb1ac8f2d82fd92141adcd3eefd5e42
  export: "javascript/atoms"

 other modules are here too

When I peru sync (with repository root being the current directory) there's an error message like this:

In target "atoms":
   Export path "javascript/atoms" doesn't exist.

for each of the "atoms" the peru.yaml

This looks working in Selenium IDE CI build.

What am I doing wrong?

oconnor663 commented 4 years ago

I just tried this myself, and I wasn't able to reproduce the problem. I've even tried setting up a Python 3.6 virtual env and running inside there. (I'm on Arch Linux, where the current Python version is 3.8.1.) If you run it on a different machine, do you get a different result? Any suggestions for repro steps I could try?

oconnor663 commented 4 years ago

Could you give us the output of the following:

git --version
python --version
peru --version
Dmitry-Me commented 4 years ago

I'd guess this is because of how paths differ on Windows and Linux. Windows uses backslashes and this might be the reason why paths are not properly found.

oconnor663 commented 4 years ago

Peru has always supported Windows (AppVeyor CI testing etc), so the problem isn't going to be that nothing works on Windows :) I've run peru sync in this repo on my Windows 10 machine and also failed to repro. I tried it on Python 3.8, and then went back and installed Python 3.6 and tried it with that. I've tried both in cmd.exe and in Git Bash.

Do you have another Windows machine that you could try this on? If you find that it repros on one machine and not another, could you try to find steps to make it repro on the second machine?