jle*_*hon 58 node.js npm yarnpkg
yarn install -h表明-g(全局)选项是DEPRECATED.我该如何表明我想在全局安装一堆软件包(来自package.json/ yarn.lockfiles)?
我看到的选项:
yarn global [command]有事情ls,add但有,但没有install.add如果我理解正确,只适用于特定的包名称.我已经yarn.lock准备好了我的文件,我不想在命令行上重复自己.yarn global add每个包一个接一个.现在我的包列表将是必要的而不是声明性的.特别是,我想使用其中一个包中的一个可执行文件.
vij*_*jay 55
只需输入
__CODE__
Aur*_*001 35
我应该如何表明我想在全局安装一堆软件包(来自package.json/yarn.lock文件)?
你没有.不鼓励全球安装,并且很少有情况需要,甚至是有帮助的.
对于绝大多数软件包而言,拥有全局依赖项被认为是一种不好的做法,因为它们是隐含的.最好在本地添加所有依赖项,以便它们是显式的,并且使用项目的任何其他人都获得相同的依赖项集.
如果您尝试使用具有bin的CLI工具,则可以在./node_modules/.bin目录中访问这些工具.
如果您确实想要在全球范围内安装它,请使用./node_modules/.bin,但不要期望在全局范围内轻松安装大量依赖项 - 设计很难做到,因为这不是一个好主意.
代替:
./node_modules/.bin尽可能调用二进制文件lau*_*ent 12
对于那些感兴趣的人,这里有一种安装和管理通过纱线安装的全球应用程序的方法.
首先创建一个包含应用程序的目录,例如~/.yarn-global:
mkdir ~/.yarn-global
cd ~/.yarn-global
Run Code Online (Sandbox Code Playgroud)
然后从这里安装您的应用程序:
yarn add yourapp
Run Code Online (Sandbox Code Playgroud)
最后打开您的配置文件,即.bashrc或者.bash_profile添加bin目录的路径:
export PATH="$PATH:$HOME/.yarn-global/node_modules/.bin"
Run Code Online (Sandbox Code Playgroud)
从现在开始,您在此目录中安装的任何应用程序都可以在shell中的任何位置使用.
完成此操作后,您甚至可以创建一个yarn-global仅在此.yarn-global目录中运行的实用程序脚本.例如:
sudo vim /usr/bin/yarn-global
sudo chmod 755 /usr/bin/yarn-global
Run Code Online (Sandbox Code Playgroud)
脚本内容将是:
#!/bin/bash
cd "$HOME/.yarn-global"
yarn $1 "$2"
Run Code Online (Sandbox Code Playgroud)
现在你可以做yarn-global add someapp,yarn-global upgrade someapp等等.
Yarn 2凭借其无限的智慧,已经移除了yarn global.
如果您想运行一个包,例如firebase-tools,您现在可以通过 来执行yarn dlx firebase-tools <parameters>,而不是安装它然后调用已安装的包。
这是一个糟糕的决定,我希望 Yarn 能够恢复它。
| 归档时间: |
|
| 查看次数: |
42113 次 |
| 最近记录: |