pully: Running pully giving Error: Cannot find module 'm3u8stream/lib/parse-time' error

Just freshly installed pully and seeing this error:

$ pully
internal/modules/cjs/loader.js:957
    throw err;
    ^

Error: Cannot find module 'm3u8stream/lib/parse-time'
Require stack:
- /usr/local/lib/node_modules/pully/node_modules/ytdl-core/lib/index.js
- /usr/local/lib/node_modules/pully/node_modules/pully-core/dist/index.js
- /usr/local/lib/node_modules/pully/dist/index.js
- /usr/local/lib/node_modules/pully/dist/bin/pully.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:954:17)
    at Function.Module._load (internal/modules/cjs/loader.js:847:27)
    at Module.require (internal/modules/cjs/loader.js:1016:19)
    at require (internal/modules/cjs/helpers.js:69:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/pully/node_modules/ytdl-core/lib/index.js:7:21)
    at Module._compile (internal/modules/cjs/loader.js:1121:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1160:10)
    at Module.load (internal/modules/cjs/loader.js:976:32)
    at Function.Module._load (internal/modules/cjs/loader.js:884:14)
    at Module.require (internal/modules/cjs/loader.js:1016:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/lib/node_modules/pully/node_modules/ytdl-core/lib/index.js',
    '/usr/local/lib/node_modules/pully/node_modules/pully-core/dist/index.js',
    '/usr/local/lib/node_modules/pully/dist/index.js',
    '/usr/local/lib/node_modules/pully/dist/bin/pully.js'
  ]
}

Any suggestions on how to fix?

macOS 10.15.2 npm 6.13.4 node 13.2.0

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Reactions: 5
  • Comments: 16 (6 by maintainers)

Most upvoted comments

in /node_modules/ytdl-core/lib/index.js change 'm3u8stream/lib/parse-time to 'm3u8stream/dist/parse-time

Just FYI, this is still on my mind, I will take a stab at it tonight.

I think the latest tag reference a version that depends on the 0.7.2 release of pully-core which depends on the 0.28.0 release of ytdl-core, which incorrectly references m3u8stream/lib/parse-time instead of m3u8stream/dist/parse-time.

Could this mean that anyone who installs pully using npm i pully will get a broken version? That’s what happened to me, but I don’t know for sure.

Is the solution for the maintainer to create a new tag that references a version of pully that has the up to date dependencies?

Temporary fix.

cp -r ./node_modules/m3u8stream/dist ./node_modules/m3u8stream/lib
$ ytdl --version
1.1.0

I’ve also tried running:

$ npm install -g ytdl-core@latest

+ ytdl-core@1.0.3
updated 1 package in 0.441s

I’m still getting the same error though. How can I ensure I’m using the fixed version of ytdl-core?

don’t install a node library globally. node will prioritize local modules over global ones.

if you want to debug this more, look at your package-lock.json file and see any entries for ytdl-core and what is requiring an older version, if anything.

this was an error in ytdl-core <= v1.0.0, it was fixed in v1.0.1