Похоже, что вам может потребоваться запустить nvm reinstall-packages
https://github.com/creationix/nvm#migrating-global-packages-while-installing
, который говорит
Перенос глобальных пакетов при установке Если выхотите установить новую версию Node.js и перенести пакеты npm из предыдущей версии:
nvm install node --reinstall-packages-from=node
Сначала будет использоваться «узел версии nvm» дляопределить текущую версию, из которой вы переносите пакеты.Затем он разрешает новую версию для установки с удаленного сервера и устанавливает ее.Наконец, он запускает "nvm reinstall-packages", чтобы переустановить пакеты npm из предыдущей версии Node в новую.
Вы также можете установить и перенести пакеты npm из определенных версий Node, например так:
nvm install 6 --reinstall-packages-from=5
nvm install v4.2 --reinstall-packages-from=iojs
Другое «решение» - не использовать глобальные пакеты.В частности, при использовании nvm и невозможности убедиться, что глобальный пакет предназначен для «текущей» версии, может быть лучше установить локально и использовать npx
для запуска локальной команды
truffle устанавливает truffle
команда ./node_modules/.bin, когда вы npm install
это, так что вы можете npx truffle
запустить локальный вместо truffle
для запуска глобального
edit:
еще одна вещь, которую нужно проверить, это то, что node -v
и nvm current
не обязательно сообщают об одной и той же версии.
Интересно, сообщит ли nvm current
v9.3 для вас?
ах, да, на моей машине я могу установить трюфель глобально в другом месте, чем node -v
отчеты
> node -v
v9.5.0
> nvm current
system
> nvm use v8
Now using node v8.4.0 (npm v5.3.0)
> node -v
v8.4.0
> nvm current
v8.4.0
> npm install -g truffle
/Users/pauldambra/.nvm/versions/node/v8.4.0/bin/truffle -> /Users/pauldambra/.nvm/versions/node/v8.4.0/lib/node_modules/truffle/build/cli.bundled.js
+ truffle@4.1.14
added 81 packages in 4.364s
Таким образом, вы можете пропустить команду nvm use v10