Cannot install with npm package from git

Viewed 12927

I am trying to install package from git, which I forked earlier.

I try

npm i catsaredoomed/invest-openapi-js-sdk --save-dev

I've got

npm ERR! prepareGitDep 2> npm WARN install Usage of the `--dev` option is deprecated. Use `--also=dev` instead.

Moreover, this error even don't depend on flag I provided. I can set --save or don't provide at all, it persists anyway. Surely, --also=dev doesn't change this situation

UPD: npm -v 6.14.13

UPD 2:

It appears npm for whatever reason needs sudo to run this command (I didn't use sudo with npm any times before and all other packages for app were installed without sudo). So with sudo this command runs, but only to make new error

    npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/catsaredoomed/invest-openapi-js-sdk.git
npm ERR! git@github.com: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.

For whatever reason when asking for public (!) repo it needs key

UPD 3: NodeJS (with npm) is installed through sudo dnf as Fedora module, git as usual sudo dnf install, nothing special

6 Answers

Seems it was compatibility issue. I updated npm like recommended from 6.14.13 to 7.20

npm install npm@latest -g

And all issues were gone

For whatever reason when asking for public (!) repo it needs key

But... An SSH URL would always require a public key in order to authenticate the user first, and then access the repository (which will be granted, since the repository is public).

If SSH is an issue:

git config --global url."https://github.com/".insteadOf ssh://git@github.com/
git config --global url."https://github.com/".insteadOf git@github.com:

Or even:

git config --global url."https://".insteadOf ssh://

That way, the npm command will use HTTPS URLs instead of SSH ones.

Try refer this

npm install # Install only production dependencies ("dependencies", not "devDependencies")
npm install --only=dev # Install only development dependencies ("devDependencies", not "dependencies")
npm i catsaredoomed/invest-openapi-js-sdk --only=dev 

Try this, the --save-dev option is deprecated due to changes in the future versions.

I hope this solution works for you: please try this

npm i @tinkoff/invest-openapi-js-sdk --save
Related