无法解析 sequelize 包

Unable to resolve sequelize package

我正在尝试在我的 Mac OS 10.12.6.

中安装 sequelize-cli

在终端中,我做了

npm install -g sequelize-cli

我得到了

npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
/usr/local/bin/sequelize -> /usr/local/lib/node_modules/sequelize-cli/bin/sequelize
/usr/local/lib
└── sequelize-cli@2.8.0 

然后,我尝试了

sequelize model:create --name User --attributes name:string,complete:boolean

我得到了

Unable to resolve sequelize package in /Users/bheng/Sites/BASE

我什至按照 post 的建议尝试使用 --save

npm install -g sequelize-cli --save

我得到了相同的结果。

npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
/usr/local/bin/sequelize -> /usr/local/lib/node_modules/sequelize-cli/bin/sequelize
/usr/local/lib
└── sequelize-cli@2.8.0 

sequelize model:create --name User --attributes name:string,complete:boolean

Unable to resolve sequelize package in /Users/bheng/Sites/BASE

我还应该尝试什么?

在 sequelize-cli package.json 文件中,sequelize 被称为开发依赖项,这意味着当您执行 npm install sequelize-cli 时它不会安装它。我的猜测是你没有安装 sequelize 本身,这就是错误所说的。

Unable to resolve sequelize package in /Users/bheng/Sites/BASE

安装 sequelize npm install --save sequelize(或全局),一切都会好起来的。

PS:Great answer 不同的依赖关系及其含义

您需要全局安装 sequelize。

npm install -g sequelize

我遇到了同样的问题。我安装了 sequelize-cli 忘记添加 sequelize 本身:

npm install sequelize

首先需要安装sequelize包,然后执行cli命令。

我有一个类似的情况,当我试图 运行 任何 sequelize 命令时。

即。 sequelize initsequelize --help

我会得到错误:

Unable to resolve sequelize package in <my-project-directory>

None 上面的解决方案对我的情况有帮助,但在进一步挖掘后我发现这个 article 谈论安装依赖项的顺序的重要性。

我首先安装了我的开发依赖项(在 sequelize 之前安装了 sequelize-cli),这就是它无法正常工作的原因。

因为这是一个新项目,所以我刚刚删除了我的 yarn 文件和 package.json(保持其他文件不变)并重新开始,这次我做了:

  1. yarn init
  2. yarn add <my dependencies>
  3. yarn add --dev <my development dependencies>

这解决了我的问题。

你可以试试这个

npm install --save-dev sequelize sequelize-cli

npx sequelize-cli init

一旦你得到 models migrations 个文件夹,意味着 sequelize 正在工作。

是的。这是“正常的”,CLI 将尝试在节点路径的当前工作目录 and/or 中查找 sequelize 包。因此,您可以将软件包安装在本地目录或任何父目录或全局 space.

more answers