\n\nnpx 允许您运行该 npm 命令,而无需先安装它。如果未找到该命令,npx 会将其安装到中央缓存中:
\n
他们以此为例:
\nnpx cowsay "Hello"\nRun Code Online (Sandbox Code Playgroud)\n但是当我运行时:
\n$ npx cowsay "Hello"\n\nNeed to install the following packages:\n cowsay\nOk to proceed? (y)\nRun Code Online (Sandbox Code Playgroud)\n啊?我现在需要设置一些偏好吗?我习惯于npx运行而不安装它们,就像他们在 nodejs.dev 上所说的那样。我真的不想安装cowsay在我的全局变量中。
Node v14.17.5\nNPM 7.21.0\nOS:ProductName: Mac OS X\nProductVersion: 10.15.7\nRun Code Online (Sandbox Code Playgroud)\n在这里作为问题提交:https ://github.com/nodejs/nodejs.org/issues/4104
\n编辑:刚刚在 NPM 6 中测试了它,它按预期工作。这可能是 NPM v6 后的更改。
\n\xe2\x9c\x97 npm --version\n6.14.16\n\n\xe2\x9c\x97 npx cowsay "Hello"\n\nnpx: installed 41 in 7.509s\n _______\n< Hello >\n...\nRun Code Online (Sandbox Code Playgroud)\n
dot*_*ace 29
如果您不愿意每次安装时都输入“yes”,您可以执行以下操作。
npm_config_yes=true npx cowsay "hello"
Run Code Online (Sandbox Code Playgroud)
请参阅此https://github.com/npm/cli/issues/2226
npx还有一个--yes可以用来绕过提示的标志:
npx --yes some-npm-package
Run Code Online (Sandbox Code Playgroud)
如果您运行,则该标志没有记录npx --help,但该标志的文档隐藏在NPM 网站上命令的“说明”中。
--no如果您需要拒绝提示,还可以使用一个标志。
这似乎是 NPM 6 之后的变化。
$ nvm install 18
Downloading and installing node v18.0.0...
...
$ nvm use 18 # this was a fresh install
Now using node v18.0.0 (npm v8.6.0)
$ npx cowsay "Node 18"
Need to install the following packages:
cowsay
Ok to proceed? (y) y
_________
< Node 18 >
---------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
$ nvm use 14
Now using node v14.19.1 (npm v6.14.16)
$ npm uninstall --global cowsay # in case I already had it installed
up to date in 0.037s
$ npx cowsay "Node 14" # NOTE: no confirmation
npx: installed 41 in 5.271s
_________
< Node 14 >
---------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Run Code Online (Sandbox Code Playgroud)
注意:Node 14 中的安装没有确认。
如果您想在 Node 7+ 中使用软件包而不确认安装,则需要添加确认标志。请参阅@Nitesh 的回答。
| 归档时间: |
|
| 查看次数: |
10732 次 |
| 最近记录: |