I want to start publishing npm packages to a scope. Do I need to register as a user with the scope as my user name? Example if I create a package like this:
ole@MKI:~/firstpackage$ npm init
Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (firstpackage) @npmtestscope/firstpackage
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /home/ole/deletethis/package.json:
{
"name": "@npmtestscope/firstpackage",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Is this ok? (yes)
ole@MKI:~/firstpackage$ touch README.md
ole@MKI:~/firstpackage$ npm publish
This is the result:
npm ERR! 404 Scope not found : @npmtestscope/firstpackage
So what do I need to do in order for npm to find the scope?
What are Scoped Packages? Scoped Packages is a way to group related npm packages together, and connect them to each other by a specified “scope”, that acts pretty much like a namespace.
Publishes a package to the registry so that it can be installed by name. By default npm will publish to the public registry. This can be overridden by specifying a different default registry or using a scope in the name, combined with a scope-configured registry (see package. json ).
Run this command to initialize a scoped NPM project: npm init --scope=@<org> using the Org name created above.
If you want to publish a package on npm using the name @npmtestscope/firstpackage, you need to make sure that the namespace @npmtestscope exists on npm. To create that namespace, you need to create an organization on npm with the name npmtestscope.
After you have created the organization, you can publish your package named @npmtestscope/firstpackage by executing npm publish --access public.
Note: To run npm publish for a package that belongs to a npm organization, you need to be logged in on your computer as a member of that organization. You can do that by executing npm login. The npm whoami command will show you the user name associated with the current login.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With