Node.js 如何使用全球安装的npm软件包?

Node.js 如何使用全球安装的npm软件包?,node.js,npm,Node.js,Npm,当我运行以下命令时 $ cat main.js #!/usr/bin/env node // vim: set noexpandtab tabstop=2: const A = require('arcsecond'); const stringParser = A.letters; console.log( stringParser.run('hello') ); 我犯了一些这样的错误 $ ./main.js internal/modules/cjs/loader.js:960

当我运行以下命令时

$ cat main.js
#!/usr/bin/env node
// vim: set noexpandtab tabstop=2:

const A = require('arcsecond');
const stringParser =  A.letters;

console.log(
    stringParser.run('hello')
);
我犯了一些这样的错误

$ ./main.js
internal/modules/cjs/loader.js:960
  throw err;
  ^

Error: Cannot find module 'arcsecond'
Require stack:
...
如果我运行以下命令在本地安装arcsecond,main.js将正确运行

npm i arcsecond

但是我不想在本地安装软件包。我只想使用全球安装的arcsecond软件包。如何让main.js使用全局安装的arcsecond包?谢谢。

当您使用require时,它不会查看全局模块文件夹。通过在(bash)终端中写入以下内容进行修复:
export NODE\u PATH=$(npm root-g)

或者使用
requireg
软件包:
var A=require('requireg')('arcsecond')
但这要求您已经将requireg链接到项目路径。。。
npm link requireg

您需要使用
g
标志,如下
npm安装-g
您可以找到更多详细信息