1. ホーム
  2. node.js

[解決済み] NPM npm link "後にモジュールが見つかりません。

2022-09-04 06:32:36

質問

私はNodeJSのために2つのモジュールを開発しています。 aligator という名前のモジュールと、2つ目の aligator-methods . 2つ目のモジュールは、1つ目のモジュールに依存して動作します。私はこの2つのモジュールを同時に開発しており、グローバルリンクの aligator をグローバルリンクして、npmのレジストリにあるように使えるようにしたいのですが、グローバルにインストールしただけです。NPMのドキュメントによると、これを行うには npm link を使用する必要があるとNPMのドキュメントに書かれていますが、それは動作しません。

ファイル package.json モジュールの aligator :

{
  "name": "aligator",
  "version": "0.0.1",
  "description": "",
  "main": "index.js",
  "private": true,
  "directories": {
    "doc": "docs",
    "example": "examples",
    "test": "spec"
  },
  "scripts": {
    "test": "gulp jasmine"
  },
  "license": "MIT",
  "devDependencies": {
    "gulp": "^3.6.2",
    "gulp-jasmine": "^0.2.0",
    "gulp-jshint": "^1.6.1",
    "gulp-rename": "^1.2.0",
    "jasmine-node": "^1.14.3"
  },
  "dependencies": {
    "bluebird": "^1.2.4",
    "lodash": "^2.4.1",
    "mathjs": "^0.22.0"
  }
}

ファイル package.json モジュールの aligator-methods :

{
 "name": "aligator-methods",
 "version": "0.0.1",
 "description": "",
 "main": "index.js",
 "private": true,
 "directories": {
   "doc": "docs",
   "example": "examples",
   "test": "jasmine"
 },
 "scripts": {
   "test": "gulp jasmine"
 },
 "author": "",
 "license": "MIT",
 "devDependencies": {
   "gulp": "^3.6.2",
   "gulp-jasmine": "^0.2.0",
   "gulp-jshint": "^1.6.1",
   "gulp-rename": "^1.2.0",
   "jasmine-node": "^1.14.3"
 },
 "dependencies": {
   "lodash": "^2.4.1",
   "mathjs": "^0.22.0",
   "aligator": "^0.0.1"
 }
}

まず最初に、モジュールをグローバルにリンクしました。

$ cd ~/aligator
$ npm link
/usr/local/lib/node_modules/aligator -> /Users/roc/aligator

これは、私が間違っていなければ、私のモジュールのグローバルリファレンスを作成しました。 aligator を作成し、コンピュータの好きなところからこのモジュールを使用できるようになりました。

次に、他のモジュールに行き、依存関係をインストールしようとしましたが、このような出力が出ました。

$ cd ~/aligator-methods
$ npm install
npm ERR! 404 404 Not Found: aligator
npm ERR! 404
npm ERR! 404 'aligator' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'aligator-methods'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.

npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/roc/aligator-methods
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.16
npm ERR! code E404
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/roc/aligator-methods/npm-debug.log
npm ERR! not ok code 0

と直接リンクしてみたりもしました。

$ cd ~/aligator-methods
$ npm link aligator
/Users/roc/aligator-methods/node_modules/aligator -> /usr/local/lib/node_modules/aligator -> /Users/roc/aligator

しかし、それもうまくいかなかった。

何か思い当たることはありませんか? 私は、多分それは私のインストールに関係していることをどこかで読みました。 ノード npm はHomebrewで作られたものなので、時々必要なのは sudo を使うことがあるからです。

どのように解決するのですか?

問題は main のプロパティが package.json のプロパティが、存在しないファイルを指していました。この問題は複数の理由で発生する可能性があるため、他の回答も参照してください。