Как запустить команду npm с другой версией узла, использующей nvm? - PullRequest
0 голосов
/ 30 апреля 2018

пробовал эти:

✗ 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'

Я могу запустить его, вызвав корзину напрямую:

nvm run 9 node_modules/.bin/x0 dev docs/App.js

Но было бы лучше просто позвонить в npm. Кажется возможным , но документы nvm не рассматривают этот вариант использования.

1 Ответ

0 голосов
/ 01 мая 2018

Если вы используете 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
...