I'm trying to upload an npm package to a GitLab registry for the first time. I set the scope and the npm config entries according to the documentation, but when I execute npm publish, I get the following error:
npm notice Publishing to https://git.myorg.com/api/v4/projects/123/packages/npm/
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://git.myorg.com/api/v4/projects/123/packages/npm/#myscope%2fmyproject
npm ERR! 404
npm ERR! 404 '#myscope/myproject#1.0.0' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
So I try to publish it, and the error says it doesn't exist and that I should publish it...what?!
From the last two lines it looks like the error is meant for an installation failure, but I have definitely used npm publish. Also, in the PUT command, the final slash between scope and project name is replaced with %2f. No idea why that happened and why it happened nowhere else, but maybe that is a symptom of the underlying issue?
Ok, it was my own fault. When executing npm config set #foo:registry https://gitlab.example.com/api/v4/projects/<your_project_id>/packages/npm/, I put in the group ID instead of the project ID in the place of <your_project_id>. We use the group only for the package registry project, so I got them confused.
Related
my .npmrc
#bytap:registry=https://gitlab.com/api/v4/packages/npm/
'//gitlab.com/api/v4/packages/npm/:_authToken'="${GITLAB_AUTH_TOKEN}"
'//gitlab.com/api/v4/projects/37004905/packages/npm/:_authToken'="${GITLAB_AUTH_TOKEN}"
my package.json
"name": "#bytap/reuicom",
"publishConfig": {
"#bytap/registry": "https://gitlab.com/api/v4/projects/37004905/packages/npm/"
},
gitlab created group called as bytap and has project in it i.e. reuicom
running GITLAB_AUTH_TOKEN=<Gitlab Deploy token> npm publish --verbose getting this error
npm verb stack HttpErrorGeneral: 404 Not Found - PUT https://gitlab.com/api/v4/packages/npm/#bytap%2freuicom - 404 Not Found
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://gitlab.com/api/v4/packages/npm/#bytap%2freuicom - 404 Not Found
npm ERR! 404
npm ERR! 404 '#bytap/reuicom#0.1.0' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
You need to have registered "supericium" (npm adduser) as a username at the registry and be logged in (npm login) to publish under that scope.
https://docs.npmjs.com/getting-started/publishing-npm-packages
or
https://docs.npmjs.com/getting-started/scoped-packages
In my case, I had an .npmrc file in the project which was overriding my user profile .npmrc settings. You can run npm config list to check the config values in effect and figure out anything goes wrong there or not.
I'm trying to publish a package to Gitlab package registry but it keeps erroring me with 404 #my-scope/<package-name> is not in this registry.
Initially I followed the instructions in here official docs
This is how my .npmrc looks like:
#my-scope:registry=https://gitlab.com/api/v4/projects/<project_id>/packages/npm/
//gitlab.com/api/v4/projects/<project_id>/packages/npm/:_authToken=${TOKEN}
also I've added publishConfig to package.json
"publishConfig": {
"#my-scope:registry": "https://gitlab.com/api/v4/projects/<project_id>/packages/npm/"
},
When I run npm publish I keep getting 404 error as below.
npm notice Publishing to https://gitlab.com/api/v4/projects/<project_id>/packages/npm/
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://gitlab.com/api/v4/projects/<project_id>/packages/npm/#my-scope%2fpackage-name
npm ERR! 404
npm ERR! 404 '#my-scope/package-name#1.5.0' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
Your .npmrc should looks like this according to the docs:
#foo:registry=https://gitlab.example.com/api/v4/packages/npm/
//gitlab.example.com/api/v4/packages/npm/:_authToken=${MY_TOKEN}
//gitlab.example.com/api/v4/projects/<your_project_id>/packages/npm/:_authToken=${MY_TOKEN}
Read several threads here in SO but haven't found the exact some type of issue. I'm having trouble trying to install a private package from my company (hosted on GitLab). The strangest thing is that I've already made it for the same repo, but inside vagrant. On vagrant, after having receiving the following error on a npm install:
ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/#company-name%2foauth20-provider - Not found
npm ERR! 404
npm ERR! 404 '#company-name/oauth20-provider#0.8.0' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'project-srv'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\João~1\AppData\Roaming\npm-cache\_logs\2022-02-06T14_38_17_991Z-debug.log
I solved it by following these steps:
1 - Generate a new personal access token on GitLab (scope API): https://gitlab.com/-/profile/personal_access_tokens
2 - Run commands:
npm config set #company-name:registry https://gitlab.com/api/v4/projects/project-id/packages/npm/
npm config set -- '//gitlab.com/api/v4/projects/project-id/packages/npm/:_authToken' "<my-personal-access-token>"
When I try to run npm install outside of vagrant (in the same folder or another clone of the repo), it still gives the 404 error above. The thing is, I'm certain the steps I've tried are valid, since they work inside vagrant. What can possibly change by trying to do npm install outside of vagrant? I believe that it can possibly have to do with the OS, since I'm using the Laravel Homestead vagrant box (i.e. Ubuntu 20.04), and I'm running it on a Windows 10 machine.
npm ERR! code E404
npm ERR! 404 Not Found - GET http://registry.npmjs.org/#office%2fintegration-sdk - Not found
npm ERR! 404
npm ERR! 404 '#office/integration-sdk#*' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
We have private bitbucket repo, with package code, that we want to make npm private package out of it.
I've managed to publish it thru CLI with npm publish, and with the bitbucket pipeline.
And it can be installed fine, as long as i am logged in with npm login.
But we want to be able to install it without logging to npm(when deployed etc..), and i thought NPM_TOKEN is there for those reasons.
I've tried buncha stuff in .npmrc file, mostly like:
#office:registry=https://registry.npmjs.org/:_authToken=<'read/publish token from npm'>
Steps:
npm publish
check npm - package looks good, updated, etc..
run install command - npm i #office/integration-sdk
Fails with either 404(most of the time), and with 405 Method not Allowed when i have #office:registry=https://registry.npmjs.org/#office.
One thing that might be causing this.. We only have user account on npm i guess, it is Pro account with private packages thing. But we didn't create organization. Could that be a problem, i mean it can be published, and installed when logged in, and also public packages can be installed just fine when not logged in.
I am trying to install protractor but receiving following error.
command:
npm install -g protractor
npm ERR! node v4.4.3
npm ERR! npm v2.15.1
npm ERR! code E404
npm ERR! 404 no such package available : #types/jasmine
npm ERR! 404
npm ERR! 404 '#types/jasmine' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'protractor'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! Please include the following file with any support request:
npm ERR! F:\temp\chrome downloads\npm-debug.log
I came across this issue today and my problem was that I had set a custom registry within the npm config file. Have you ever used "npm set registry"?
If so, you can manually tell npm where to look for the '#types' registry with the following command:
npm config set #types:registry https://registry.npmjs.org/
The problem is coming from the fact that you're using a private registry that has not yet added support for #organization packages.
In my case, I was using Sonatype Nexus and my version didn't have support for those types of packages. #Willie Valdez's suggestion is probably the best solution for you, right now.
Also, check if you have a .npmrc file in your home directory or in your project directory. The registry might be there. If that's the case, just rename the file to npmrc_bak or something else until you install the package and then revert back to its original name.
You can also include a .npmrc file in your current project with the below details:
#angular:registry=https://registry.npmjs.org
#types:registry=https://registry.npmjs.org
#ngtools:registry=https://registry.npmjs.org
#angular-cli:registry=https://registry.npmjs.org
its handy and resuable across new projects.