如何使用 nvm 运行 具有不同版本节点的 npm 命令?
How do I run an npm command with a different version of node using nvm?
试过这些:
✗ nvm run 9 npm start
Running node v9.10.1 (npm v5.8.0)
module.js:545
throw err;
^
Error: Cannot find module '/Users/foo/work/grid-styled/npm'
at Function.Module._resolveFilename (module.js:543:15)
✗ nvm run 9 npm -- x0 dev docs/App.js
Running node v9.10.1 (npm v5.8.0)
module.js:545
throw err;
^
Error: Cannot find module '/Users/foo/work/grid-styled/npm'
我可以通过直接调用 bin 来获取它到 运行:
nvm run 9 node_modules/.bin/x0 dev docs/App.js
不过直接调用npm会更好。似乎有可能 but the nvm docs don't address this use case.
如果您使用 nvm run
,您将在特定版本上执行节点,因此:
nvm run 9 npm start
等同于 node npm start
(节点版本 9)。这就是错误的原因。
你应该使用nvm exec
来代替,即在特定版本上执行命令,例如:
$ nvm exec 10 npm -v
Running node v10.0.0 (npm v6.0.0)
6.0.0
$ nvm exec 6 npm -v
Running node v6.10.3 (npm v3.10.10)
3.10.10
试过这些:
✗ nvm run 9 npm start
Running node v9.10.1 (npm v5.8.0)
module.js:545
throw err;
^
Error: Cannot find module '/Users/foo/work/grid-styled/npm'
at Function.Module._resolveFilename (module.js:543:15)
✗ nvm run 9 npm -- x0 dev docs/App.js
Running node v9.10.1 (npm v5.8.0)
module.js:545
throw err;
^
Error: Cannot find module '/Users/foo/work/grid-styled/npm'
我可以通过直接调用 bin 来获取它到 运行:
nvm run 9 node_modules/.bin/x0 dev docs/App.js
不过直接调用npm会更好。似乎有可能 but the nvm docs don't address this use case.
如果您使用 nvm run
,您将在特定版本上执行节点,因此:
nvm run 9 npm start
等同于 node npm start
(节点版本 9)。这就是错误的原因。
你应该使用nvm exec
来代替,即在特定版本上执行命令,例如:
$ nvm exec 10 npm -v
Running node v10.0.0 (npm v6.0.0)
6.0.0
$ nvm exec 6 npm -v
Running node v6.10.3 (npm v3.10.10)
3.10.10