ちょっと考えたら至極当たり前な挙動なのですが、先日うっかりやらかしたので。
npm init
を使って対話形式で新規パッケージを作成する際に、name
と同名のパッケージはインストールできません。
使いたいパッケージ名と重複しないようにname
を指定しておく必要があります。
package.json
{
"name": "gulp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
↓
terminal
$ npm install --save-dev gulp
npm ERR! code ENOSELF
npm ERR! Refusing to install package with name "gulp" under a package
npm ERR! also called "gulp". Did you name your project the same
npm ERR! as the dependency you're installing?
npm ERR!
npm ERR! For more information, see:
npm ERR! <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/hoge/.npm/_logs/2018-09-30T05_24_34_882Z-debug.log
--force
フラグの指定で強制的にインストールすることもできますが、そこまでインストールするよりパッケージのname
値を変えてしまうほうが圧倒的に早いと公式にも記載がありました。ちゃんと読まないとだめですね…。