How to publish NPM Scoped Packages / NPM scope not found?

Ole picture Ole · May 6, 2017 · Viewed 8.1k times · Source

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?

Answer

Benny Neugebauer picture Benny Neugebauer · Dec 19, 2018

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.