node.js - 如何解决此错误:找不到模块“ibm-watson”
问题描述
我已经使用“npm install ibm-watson”命令安装了 ibm-watson,我可以在 node_modules 文件夹中看到该文件夹及其文件,但仍然显示此错误。节点版本 - v10.15.3
const watson = require('ibm-watson');
const { IamAuthenticator } = require('ibm-watson/auth');
const { BasicAuthenticator } = require('ibm-watson/auth');
// to get an IAM Access Token
const authorization = new watson.AuthorizationV1({
authenticator: new IamAuthenticator({ apikey: 'fakekey-1234' }),
});
authorization.getToken(function (err, token) {
if (!token) {
console.log('error: ', err);
} else {
// Use your token here
}
});
其他模块导入正常,只有这个模块没有导入。
internal/modules/cjs/loader.js:584
throw err;
^
Error: Cannot find module 'ibm-watson'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
at Function.Module._load (internal/modules/cjs/loader.js:508:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous>
解决方案
我刚遇到这个问题。我没有安装正确版本的软件包。请检查 Node 的apidocs以查看您需要的 IBM Watson npm 包的正确版本。对我来说,我需要 5.6.0。
您可以使用以下命令安装它:
npm install ibm-watson@^5.6.0
推荐阅读
- python-3.x - 获取节点的二、三阶邻居
- python - Kivy on_press 与 on_touch_down
- react-native - react-native-video TypeError:未定义不是对象
- c# - 在插入或更新数据库之前修改任何 SQL 命令字符串以删除特定列
- java - 与存储在 Assets 文件夹中的预填充加密 SQLite 数据库一起使用的 Android 应用程序
- python - 将 PIP_EXTRA_INDEX_URL 传递给 docker build
- ruby - 将特定 URL 添加到 BASE PATH 以使用 Nokogiri 抓取网页
- javascript - 不懂 javascript 的元音计数代码?
- visual-studio - Visual Studio 中的“发布”如何工作?
- ruby-on-rails - Rails 更改长 if/else 语句