Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ceramic daemon failed to start up: The ipfs-repo-migrations package does not have all migration to migrate from version 10 to 11 #1742

Open
hwnahm opened this issue Sep 25, 2021 · 9 comments

Comments

@hwnahm
Copy link

hwnahm commented Sep 25, 2021

% ceramic daemon
Ceramic daemon failed to start up:
InvalidValueError: The ipfs-repo-migrations package does not have all migration to migrate from version 10 to 11
at verifyAvailableMigrations (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo-migrations/src/index.js:270:11)
at Object.revert (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo-migrations/src/index.js:185:3)
at async IpfsRepo.open (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo/src/index.js:140:11)
at async loadRepo (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/storage.js:74:5)
at async Function.start (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/storage.js:54:41)
at async Object.create (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/index.js:223:21)
at async Function.create (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/node_modules/@ceramicnetwork/ipfs-daemon/lib/ipfs-daemon.js:90:22)
at async Object.buildIpfsConnection (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/lib/build-ipfs-connection.util.js:24:28)
at async Function.create (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/lib/ceramic-daemon.js:162:22)
at async Command. (/Users/peter/.nvm/versions/node/v14.17.6/lib/node_modules/@ceramicnetwork/cli/lib/bin/ceramic.js:30:5) {
code: 'ERR_INVALID_VALUE'
}

Machine, OS, browser information (please complete the following information):

Additional context
Add any other context about the problem here.

@stbrody
Copy link
Contributor

stbrody commented Sep 25, 2021

Hmm, I'm not seeing this error. The version of IPFS that Ceramic relies should be using IPFS repo version 10. If you're seeing it try to use version 11, that suggests that somehow you're picking up a newer version of IPFS than ceramic supports. Are you using ipfs directly in your application? Or are you using any other packages that may be including a newer version of ipfs? It might be helpful if you can share your package.json file.

@BrennerSpear
Copy link

I'm getting a similar problem:

~/repos [1] $ ceramic daemon                                                                                                                            16:36:03
/Users/brenner/.nvm/versions/node/v12.18.3/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-http-server/src/index.js:140
    const enableCors = Boolean(cors.origin?.length)
                                           ^

SyntaxError: Unexpected token '.'
    at wrapSafe (internal/modules/cjs/loader.js:1053:16)
    at Module._compile (internal/modules/cjs/loader.js:1101:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/Users/brenner/.nvm/versions/node/v12.18.3/lib/node_modules/@ceramicnetwork/cli/node_modules/@ceramicnetwork/ipfs-daemon/lib/ipfs-daemon.js:8:44)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)

@BrennerSpear
Copy link

my issue was node v12 instead of v14+

@boneyard93501
Copy link

just encountered the same issue:

root@99871fbf5bb3:/# node --version
v14.18.1
root@99871fbf5bb3:/# npm --version
6.14.15
root@99871fbf5bb3:/# ceramic daemon
Ceramic daemon failed to start up:
InvalidValueError: The ipfs-repo-migrations package does not have all migration to migrate from version 10 to 11
    at verifyAvailableMigrations (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo-migrations/src/index.js:270:11)
    at Object.revert (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo-migrations/src/index.js:185:3)
    at async IpfsRepo.open (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo/src/index.js:140:11)
    at async loadRepo (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/storage.js:74:5)
    at async Function.start (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/storage.js:54:41)
    at async Object.create (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/index.js:223:21)
    at async Function.create (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/@ceramicnetwork/ipfs-daemon/lib/ipfs-daemon.js:90:22)
    at async Object.buildIpfsConnection (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/lib/build-ipfs-connection.util.js:24:28)
    at async Function.create (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/lib/ceramic-daemon.js:162:22)
    at async Command.<anonymous> (/root/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/lib/bin/ceramic.js:30:5) {
  code: 'ERR_INVALID_VALUE'
}

@stbrody
Copy link
Contributor

stbrody commented Oct 18, 2021

@boneyard93501, same questions as I asked the original poster of this issue:

The version of IPFS that Ceramic relies should be using IPFS repo version 10. If you're seeing it try to use version 11, that suggests that somehow you're picking up a newer version of IPFS than ceramic supports. Are you using ipfs directly in your application? Or are you using any other packages that may be including a newer version of ipfs? It might be helpful if you can share your package.json file.

@boneyard93501
Copy link

we're using IPFS (go) also and that's where the clash is coming from. we created a workaround in one of the testnets, which should get hackathon participants by for now. Hopefully we can ditch the duct-tape when you upgrade.

@jacksonConrad
Copy link

I'm also having this problem. I'm just getting started w/ ceramic and don't even have a project/package.json, I've just installed the CLI via npm, and am trying to run ceramic daemon.

> npm --version
6.14.15

> node --version
v14.18.1


> ceramic daemon
Ceramic daemon failed to start up:
InvalidValueError: The ipfs-repo-migrations package does not have all migration to migrate from version 10 to 11
    at verifyAvailableMigrations (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo-migrations/src/index.js:270:11)
    at Object.revert (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo-migrations/src/index.js:185:3)
    at async IpfsRepo.open (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-repo/src/index.js:140:11)
    at async loadRepo (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/storage.js:74:5)
    at async Function.start (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/storage.js:54:41)
    at async Object.create (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/ipfs-core/src/components/index.js:223:21)
    at async Function.create (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/node_modules/@ceramicnetwork/ipfs-daemon/lib/ipfs-daemon.js:90:22)
    at async Object.buildIpfsConnection (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/lib/build-ipfs-connection.util.js:24:28)
    at async Function.create (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/lib/ceramic-daemon.js:172:22)
    at async Command.<anonymous> (/home/[email protected]/.nvm/versions/node/v14.18.1/lib/node_modules/@ceramicnetwork/cli/lib/bin/ceramic.js:30:5) {
  code: 'ERR_INVALID_VALUE'
}

I wasn't sure if it was caused by my local IPFS installation or not -- originally I had ipfs v0.11.0. I uninstalled that, and then installed v0.10.0, but am still getting the exact same error.

@jacksonConrad
Copy link

jacksonConrad commented Dec 14, 2021

we're using IPFS (go) also and that's where the clash is coming from. we created a workaround in one of the testnets, which should get hackathon participants by for now. Hopefully we can ditch the duct-tape when you upgrade.

@boneyard93501 would you mind providing detail on how your created a workaround? i'm struggling with this same problem. i've experimented with using both the Go and JS IPFS implementations, tried version 0.10.0 vs 0.11.0, all with the same results.

@stbrody
Copy link
Contributor

stbrody commented Jan 13, 2022

@jacksonConrad, this error usually means you have an ipfs repo created by a newer version of ipfs than ceramic currently supports.

originally I had ipfs v0.11.0. I uninstalled that, and then installed v0.10.0, but am still getting the exact same error.

I suspect that even after you uninstalled ipfs v0.11.0 that its data files were left around. You'll need to delete your ipfs repo so that it can be re-created in the older data format. If you have important data in your local ipfs node repository that you don't want to delete, you'll need to point the new ipfs node used by Ceramic to a different directory for storing its data files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants