Yarnpkg 如何运行已安装的软件包
我看到,通过Thread berry,我获得了即插即用功能,而不是节点模块/ 我找不到任何建议它支持从已安装的软件包运行 例如,对于npm,工作流可能是运行已安装版本的webpack:Yarnpkg 如何运行已安装的软件包,yarnpkg,yarnpkg-v2,Yarnpkg,Yarnpkg V2,我看到,通过Thread berry,我获得了即插即用功能,而不是节点模块/ 我找不到任何建议它支持从已安装的软件包运行 例如,对于npm,工作流可能是运行已安装版本的webpack: $ npm install --save-dev webpack $ node node_modules/webpack/bin/webpack ... 全局安装的网页包可能不是同一版本。更糟糕的是,在Docker部署期间,我得到的是本地安装的,唯一的节点和npm是全局可用的。我想我可以做一个preinstal
$ npm install --save-dev webpack
$ node node_modules/webpack/bin/webpack ...
全局安装的网页包可能不是同一版本。更糟糕的是,在Docker部署期间,我得到的是本地安装的,唯一的节点和npm是全局可用的。我想我可以做一个preinstall
脚本,它可以npm install-g;纱线设置版本berry
,但我不知道如何做webpack
,jest
,babel
,等等,我认为我应该在相同的预安装过程中全局安装它们,这似乎是倒退了几步
是否有某种方法可以从我缺少的本地安装的软件包运行
我看到了这个可能相关的问题-
但答案似乎有点离题——我没有运行任何js,我正在尝试键入package.json脚本,即可以从shell运行的脚本。为什么不直接使用warn run
(或者干脆warn
)?如果您在一个设置为使用Thread berry的存储库中,则该存储库将运行任何包bin文件
warn节点
将运行任何带有即插即用设置的.js
文件。无需在全球范围内安装这些依赖项,除了可能的Thread classic。我正试图在一些箱子中安装Thread,并不断获得:
Couldn't find a script named "some-bin".
我最终发现这是因为提供某些bin
的包安装在工作区内,而不是我的项目的根目录下。因此,我不得不跑:
yarn workspace my-workspace some-bin
这很有效。好的,我会尝试一下谢谢@josh WilsonThank这是对的,我依靠的是cli帮助,但没有给我很好的提示