Как запустить команду npm с другой версией узла, использующей 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'
Я могу запустить его, позвонив в корзину напрямую:
nvm run 9 node_modules/.bin/x0 dev docs/App.js
Но было бы лучше просто позвонить в npm. Кажется возможным, но документы NVM не рассматривают этот вариант использования.
1 ответ
Решение
Если вы используете 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