我遇到安装的NPM软件包遇到Module Not Found错误,该软件包似乎出现在node_modules文件夹中。底层包本身缺少什么?
这是我的package.json:
{
"name": "cmtest",
"version": "0.0.0",
"description": "cmtest",
"main": "server.js",
"author": {
"name": "Andrew"
},
"dependencies": {
"cloudmersive": "^1.3.2"
}
}
然后我打电话给要求:
'use strict';
var http = require('http');
var Cloudmersive = require('cloudmersive');
var port = process.env.PORT || 1337;
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
var api = new Cloudmersive.BarcodeLookupApi()
var value = "value_example"; // {String} Barcode value
var callback = function (error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.barcodeLookupEanLookup(value, callback);
}).listen(port);
但是我收到了这个错误:
"Cannot find module 'cloudmersive'"
"Error: Cannot find module 'cloudmersive'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
at Function.Module._load (internal/modules/cjs/loader.js:497:25)
at Module.require (internal/modules/cjs/loader.js:626:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (c:\users\andrew\documents\visual studio 2017\Projects\cmtest\cmtest\server.js:3:20)
at Module._compile (internal/modules/cjs/loader.js:675:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)"
有什么想法吗?包裹本身有问题吗?这是我的开发/配置问题吗?
随着NPM安装cloudmersive包,并显示在node_modules文件夹中。我也尝试使用nvm在几个不同版本之间切换。
底层包源是:https://github.com/Cloudmersive/Cloudmersive.APIClient.Javascript
index.js文件有问题吗?
答案 0 :(得分:1)
package.json
表示main为src/client.invoker/index.js
,但该文件不在该目录中。
答案 1 :(得分:0)
要在本地使用库而不发布到远程npm注册表,请首先通过更改来安装依赖项
进入包含package.json
的目录。我们称之为JAVASCRIPT_CLIENT_DIR
。然后运行:
npm install
接下来,在npm
中使用以下内容将其全局链接到JAVASCRIPT_CLIENT_DIR
:
npm链接 最后,切换到您要使用cloudmersive的目录,然后运行:
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
您现在应该能够从最后运行的目录中的javascript文件中require('cloudmersive')
从上面命令。
您可以查看README.md
目录中已安装的cloudmersive
模块中的node_modules
文件,以获取更详细的说明。