为什么找不到npm安装的这个包

f1tvaqid  于 2023-05-18  发布在  其他
关注(0)|答案(2)|浏览(237)

我正在使用Debian Stable Linux,它已经更新并且运行得很好。
我已经用以下npm命令全局安装了一个compute-pcorr包:

$ sudo npm install compute-pcorr -g

使用以下npm命令列出:

$  npm list -g --depth=0 
/usr/local/lib
├── compute-pcorr@1.0.0
└── ml-stat@1.3.3

我现在尝试以下代码演示代码从其homepage

var pcorr = require( 'compute-pcorr@1.0.0' ); 

var x = [ 1, 2, 3, 4, 5 ]; 
var y = [ 5, 4, 3, 2, 1 ];

var mat = pcorr( x, y );
Console.log("Correlation Matrix: "+ mat)

然而,当我运行上面的代码时,我得到错误:

$ node compute_pcorr_usage.js 

internal/modules/cjs/loader.js:818
  throw err;
  ^

Error: Cannot find module 'compute-pcorr@1.0.0'

下面的代码也不起作用:

var pcorr = require( 'compute-pcorr' );

我还尝试使用以下命令重新安装软件包,但错误仍然存在:

sudo npm install compute-pcorr -g --save

问题在哪里,如何解决?

oprakyz7

oprakyz71#

当库未在本地安装时会发生此问题。
尝试使用命令npm install compute-pcorr在本地目录中安装
无需通过-g进行全局安装

bmp9r5qi

bmp9r5qi2#

问题似乎在于您在代码中需要 compute-pcorr 模块的方式。您应该使用require('compute-pcorr'),而不是在require语句中指定版本。
下面是正确的代码:

var pcorr = require('compute-pcorr');

var x = [1, 2, 3, 4, 5];
var y = [5, 4, 3, 2, 1];

var mat = pcorr(x, y);
console.log("Correlation Matrix: " + mat);

通过从require语句中删除版本号,Node.js将搜索已安装的模块,而不考虑特定的版本。

相关问题