me
Installation issue update: "Arguments to path.join must be strings"
by Sven Laux - Tuesday, 22 July 2014, 8:53 AM
 

Hi,

this issue has cropped up recently and we have been looking at it as a priority.  Below are the temporary steps to resolve.

In summary:

  • the setup process fails during the cli command 'adapt create course'.
  • in most cases, the error message reads: Oh dear, something went wrong. Arguments to path.join must be strings
  • the issue is that the adapt dependencies (components and extensions in separate repositories are not downloaded and installed)

Daryl has isolated the issue to the 'adapt-contrib-spoor' line in the adapt.json file.

A temporary fix is to remove the "adapt-contrib-spoor": "*", line from the adapt.json file and re-run the installation. I confirm I got this to work this morning.

The temporary instructions in detail:

  • follow the installation instructions up to and including 'adapt create course' and let it fail
  • change the adapt.json file in the new course directory and remove the line saying "adapt-contrib-spoor": "*"
  • save the file
  • re-run 'npm install' in the course directory
  • then run "grunt build"
  • followed by "grunt server"

 

This is a temporary step to getting Adapt working without the SCORM tracking. Chris Jones is leading on getting this issue resolved properly as a priority.

Thanks and I hope this helps!

Sven

Picture of Daryl Hedley
Re: Installation issue update: "Arguments to path.join must be strings"
by Daryl Hedley - Tuesday, 22 July 2014, 9:37 AM
 

Hi,

Just to add to this:

before running 'npm install' you'll need to run 'adapt install' which will bring the other plugins down.

Thanks,

Daryl

Picture of Peter Seymour
Re: Installation issue update: "Arguments to path.join must be strings"
by Peter Seymour - Tuesday, 22 July 2014, 11:55 AM
 

I removed the spoor reference and ran adpat install only to get the same error message:

 

adapt install

Oh dear, something went wrong. I'm terribly sorry. Arguments to path.join must be strings

 

I even re-installed npm and installed bower 1.3.8 (npm install bower@1.3.8). Still getting error. Without running adapt install and only running grunt build from the course directory another error appears:

NameError: variable @ie8-max-width is undefined in src/less/adapt.less on line 83, column 19:

 

I have seen that error reported and will try to fix that and see what happens.

me
Re: Installation issue update: "Arguments to path.join must be strings"
by Sven Laux - Tuesday, 22 July 2014, 12:36 PM
 

Hi Peter,

thanks - the ie8-max-width error message you get is related to the overall issue (Adapt dependencies not installing). This variable is defined in the theme, which fails to download and install.

I'd be keen to find out what happens if you create an entirely new course.

Thanks,
Sven

 

Picture of Peter Seymour
Re: Installation issue update: "Arguments to path.join must be strings"
by Peter Seymour - Tuesday, 22 July 2014, 1:09 PM
 

Hello Sven,

 

first and foremost thank you for all the work, the framework looks awesome. 

I have re-installed npm and grunt and installed bower 1.3.8. I received the same message:

installing adapt dependencies

Oh dear, something went wrong. I'm terribly sorry. Arguments to path.join must be strings

I then went into the course directory and edited the adapt.json file and removed the spoor reference. 

I ran grunt build --force it ran with warnings

I then ran adapt install and it finished successfully

I tried to run npm install and  received the error message:

npmERR!peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!


so I ran 

npm install karma@0.12.8 -g

I tried npm install again and received the same error.

I ran grunt build anyway and and it ran without errors.

I then started the server grunt server and it started. So I have working server for now that I can start to play with, thanks. I am hoping the errors will be resolved as the project matures. This will give me time to start developing.

I am running on a mac using 10.9.4, my colleague followed the fix on a windows 8 machine and she has it sudo working as well.

 

 

Thanks

Pete

 

Picture of Chris Jones
Re: Installation issue update: "Arguments to path.join must be strings"
by Chris Jones - Tuesday, 22 July 2014, 2:27 PM
 

Hello Peter,

There is an update available now. To get it installed to your existing setup you will need to run:-

       npm update adapt-cli -g

This will update the bower dependency used by the command line tools. The version of the cli tools should be v0.0.15 (you can run adapt --version to get this information)

Because of the way that node.js manages dependencies, updating your bower global install to 1.3.8 will not affect the dependencies of other installed packages.

The warning from karma about peer dependencies should not affect the framework, and I know that some changes have already been made to prevent it from raising warning unnecessarily.

Thanks,

Chris

Picture of Vo Tuduc
Re: Installation issue update: "Arguments to path.join must be strings"
by Vo Tuduc - Thursday, 24 July 2014, 3:15 AM
 

I got the same error with the same message. So, please fixe this. 

Thank you all. 

Duc

me
Re: Installation issue update: "Arguments to path.join must be strings"
by Sven Laux - Thursday, 24 July 2014, 12:06 PM
 

Hi Duc,

thanks. Please could you help us by providing further detail?

We will need:

  • details of the operating system you are running
  • a list of steps you have taken and the result for each of them
  • screenshots of the error you are getting

Thank you very much in advance.

Sven

me
Re: Installation issue update: "Arguments to path.join must be strings"
by Sven Laux - Tuesday, 22 July 2014, 11:07 AM
 

Just a note to say that Chris has tracked the issue down to being a dependency of a dependency: https://github.com/bower/bower/issues/1399.

We will shortly release an update, which pushes the latest Bower version automatically.

 

Picture of Chris Jones
Re: Installation issue update: "Arguments to path.join must be strings"
by Chris Jones - Tuesday, 22 July 2014, 11:10 AM
 

Hi,

It looks like this has been caused by an issue that has affected Bower. This is fixed in Bower version 1.3.8 so new clean installs should be okay.

A fix for existing installs will be available on npm shortly.

 

Picture of fiona.m.clarke@btinternet.com clarke
Re: Installation issue update: "Arguments to path.join must be strings"
by fiona.m.clarke@btinternet.com clarke - Thursday, 24 July 2014, 8:30 AM
 

Hi

We have tried reinstalling and this seems to work - but still not able to create a  new course.

Are there ongoing problems - or are we just doing something wrong?

ps - we were hoping to start using adapt for a large e-learning project (we think the concept is great).

We will need to make a decision soon about whether we proceed with this framework or not.

Any guidance on this would be helpful.

 

 

 

me
Re: Installation issue update: "Arguments to path.join must be strings"
by Sven Laux - Thursday, 24 July 2014, 12:01 PM
 

Hi Fiona,

would you be able to provide (lots of) detail, please? I'm keen we understand the steps you are taking and the feedback (e.g. error messages) you are getting to make sure we can address any outstanding issues...

Ideally, I would like to see screenshots of the steps which are failing. I'm confident this can be sorted out.

Thanks,
Sven

Picture of Chris Jones
Re: Installation issue update: "Arguments to path.join must be strings"
by Chris Jones - Thursday, 24 July 2014, 12:43 PM
 

Hi Fiona,

I've just PM'd you.