如何解决yarn berry run如何运行已安装的软件包
我看到长毛莓得到的是即插即用功能,而不是node_modules /
我找不到任何建议可以支持它从已安装的程序包运行。
例如对于npm,工作流可能是运行已安装的webpack版本:
$ npm install --save-dev webpack
$ node node_modules/webpack/bin/webpack ...
全局安装的Webpack可能不是同一版本。更糟糕的是,在Docker部署期间,我得到了本地安装的东西,唯一的节点和npm在全球可用。我以为可以做一个preinstall
的{{1}}脚本,但是我不确定如何做npm install -g yarn; yarn set version berry
,webpack
,jest
等,并且我认为必须在相同的babel
hackhack中将它们全部全局安装,这似乎是倒退了几步。
有什么方法可以从我丢失的本地安装软件包中运行吗?
我看到了这个可能相关的问题-Yarn Berry - Run a Node Script Directly
但是答案似乎有点不对头-我没有运行任何js,而是试图输入package.json脚本,即可以在shell中运行的脚本。
解决方法
为什么不仅仅使用yarn run <bin>
(或者简单地使用yarn <bin>
)?如果您位于要使用yarn berry的存储库中,那么它将运行任何程序包bin文件。
yarn node <file>
将运行设置了即插即用功能的任何.js
文件。无需全局安装这些依赖项,除了也许yarn经典。
我试图做 yarn some-bin
并不断得到:
Couldn't find a script named "some-bin".
我最终发现这是因为提供 some-bin
的包安装在工作区中,而不是安装在我的项目的根目录中。所以我不得不跑:
yarn workspace my-workspace some-bin
这奏效了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。