我正在尝试在我的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
我有
无法解析请求“/user/bheng/Sites/BASE”。
我甚至尝试使用--save
,就像这个post建议的那样。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
无法解析请求“/user/bheng/Sites/BASE”。
我还应该尝试什么?
8条答案
按热度按时间ehxuflar1#
在sequelize-cli package.json文件中,sequelize是作为devdependency提到的,这意味着当你执行
npm install sequelize-cli
时,它不会安装它。我猜你没有安装sequelize本身,这就是错误所说的。无法解析请求“/user/bheng/Sites/BASE”。
安装sequelizex 1 m1n1x(或global),事情应该是好的。
PS:Great answer对不同的依赖关系和它们的含义
8dtrkrch2#
我遇到了同样的问题。我安装了
sequelize-cli
,忘记添加sequelize
本身:npm install sequelize
cig3rfwq3#
你可以试试这个
npm install --save-dev sequelize sequelize-cli
npx sequelize-cli init
一旦你得到
models
migrations
文件夹,意味着sequelize
正在工作。fnvucqvd4#
你需要在全局安装sequelize。
npm install -g sequelize
yk9xbfzb5#
首先你需要安装sequelize包,然后执行cli命令。
ne5o7dgx6#
我有一个类似的情况下,当我试图运行任何sequelize命令。
即
sequelize init
或sequelize --help
我会得到错误:
Unable to resolve sequelize package in <my-project-directory>
上面的解决方案都没有帮助我的案例,但是经过进一步的挖掘,我发现这个article谈论了安装依赖项的顺序的重要性。
我先安装了我的开发依赖项(sequelize-cli在sequelize之前),这就是为什么它不工作。
因为这是一个新的项目,我只是删除了我的yarn文件和package.json(其他文件保持不变)并重新开始,这次我做到了:
yarn init
yarn add <my dependencies>
yarn add --dev <my development dependencies>
这解决了我的问题。
kg7wmglp7#
是的。这是“正常”的,CLI将尝试在当前工作目录和/或节点路径中找到sequelize软件包。因此,您可以将软件包安装在本地目录或任何父目录或全局空间中。
more answers
xxls0lw88#
下载sequelize和sequlize-cli时,必须使用-g选项全局安装
npm install -g sequelize
npm install -g sequelize-cli
就这样