node.js - 找不到 mjml 命令
问题描述
我正在尝试安装 MJML ( https://mjml.io/ ) 并根据文档完成此操作:
sudo npm install mjml
给出的输出如下:
localhost:~ andy$ sudo npm install mjml
Password:
npm WARN saveError ENOENT: no such file or directory, open
'/Users/andy/package.json'
npm WARN enoent ENOENT: no such file or directory, open
'/Users/andy/package.json'
npm WARN andy No description
npm WARN andy No repository field.
npm WARN andy No README data
npm WARN andy No license field.
+ mjml@4.4.0-beta.1
updated 1 package and audited 27385 packages in 1.934s
我已经创建了一个test.mjml
文件,但是当我尝试编译它时:
mjml test.mjml -o output.html
它给:
-bash: mjml: command not found
我用谷歌搜索了这个问题,发现:
- https://github.com/mjmlio/mjml/issues/885
- https://github.com/mjmlio/mjml/issues/634
- https://github.com/mjmlio/mjml/issues/799
但这些似乎都没有帮助或适用于我的情况。
如果那里有人使用 MJML,请你帮忙吗?
我在 Mojave 10.14.2 下的 Mac 上运行它
如果我尝试which mjml
它什么都没有。
可执行文件似乎存在,在/Users/andy/node_modules/mjml/bin
. 如果我真的cd
进入这个目录并运行mjml --version
它会给出:
mjml-core: 4.4.0-beta.1
mjml-cli: 4.4.0-beta.1
但是,如果我尝试mjml ~/Desktop/mjml/test.mjml -o output.html
它说...
-bash: mjml: command not found
这在我看来没有意义,因为它可以执行mjml
工作mjml --version
。
解决方案
您可以在安装 MJML 的文件夹中访问 mjml 命令:
/Users/andy/node_modules/mjml/bin test.mjml -o output.html
为避免键入 ./node_modules/.bin/,请将其添加到 PATH:
export PATH="$PATH:./node_modules/.bin"
之后,您可以在该文件夹中直接运行 MJML:
mjml test.mjml -o output.html
如果您想从任何文件夹执行命令,您可以在此处查看如何执行此操作。
推荐阅读
- plot - 如何连接闪亮的情节点击到网站
- javascript - Javascript对象中键/值的动态交换
- python - 在元组的ndarray中查找元组并返回搜索到的元组的索引
- reactjs - 在 Reactjs 中使用 Rocketchat 方法(loadHistory)时收到消息:“匹配失败 [400]”,错误类型:“Meteor.Error”
- node.js - 如何在 node.js 中运行 http 可执行文件/任务
- vue.js - 如果目录重命名,Vue + Jest 会失败
- google-sheets - 以递归方式在另一张纸中显示过滤器的结果
- typescript - 如何对映射对象属性的 TypeScript 函数进行类型注释?
- umbraco - 将 PropertyData 迁移到新的 PropertyType
- java - 错误消息 将主方法定义为 Public static void main(String[] args)