簡體   English   中英

NVM:npm install -g 一直使用錯誤版本的節點

[英]NVM: npm install -g keeps using wrong version of node

我正在嘗試安裝一個名為expo-cli的包,但它失敗了,因為 npm 一直使用錯誤版本的 node。

我將我的節點版本設置為 v12.4.0,我確認已設置。 但是當我運行npm install -g expo-cli ,它繼續使用v9.10.0

➜  ~ nvm current
v12.4.0
➜  ~ node -v
v12.4.0
➜  ~ npm install -g expo-cli
npm WARN deprecated joi@14.0.4: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated topo@3.0.3: This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

> @expo/traveling-fastlane-darwin@1.9.9 preinstall /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/node_modules/@expo/traveling-fastlane-darwin
> node platform.js

/Users/edmundmai/.nvm/versions/node/v9.10.0/bin/expo-cli -> /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/bin/expo.js
/Users/edmundmai/.nvm/versions/node/v9.10.0/bin/expo -> /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/bin/expo.js

> fsevents@1.2.9 install /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/node_modules/fsevents
> node install

如何更改 npm 以使用 node v12.4.0?

如果沒有正確版本的節點,Expo-cli 會失敗。

➜  ~ expo init my-app
zsh: command not found: expo
➜  ~ nvm list
         v8.0.0
        v9.10.0
        v10.8.0
->      v12.4.0
default -> v12.4.0
node -> stable (-> v12.4.0) (default)
stable -> 12.4 (-> v12.4.0) (default)
iojs -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0 (-> N/A)
lts/dubnium -> v10.16.0 (-> N/A)
➜  ~ nvm use v9.10.0
Now using node v9.10.0 (npm v6.9.0)
➜  ~ expo init my-app
/Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/bin/expo.js:12
  throw new Error('expo-cli supports Node versions 8.x.x, 10.x.x and newer.');
  ^

Error: expo-cli supports Node versions 8.x.x, 10.x.x and newer.
    at Object.<anonymous> (/Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/bin/expo.js:12:9)
    at Module._compile (module.js:649:30)
    at Object.Module._extensions..js (module.js:660:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:501:12)
    at Function.Module._load (module.js:493:3)
    at Function.Module.runMain (module.js:690:10)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:666:3

更新:

This is what happens when I try to scope the node version:

➜  ~ nvm run 12.4.0 npm install --latest-npm
Running node v12.4.0 (npm v6.9.0)
internal/modules/cjs/loader.js:626
    throw err;
    ^

Error: Cannot find module '/Users/edmundmai/npm'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:623:15)
    at Function.Module._load (internal/modules/cjs/loader.js:527:27)
    at Function.Module.runMain (internal/modules/cjs/loader.js:837:10)
    at internal/main/run_main_module.js:17:11 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
➜  ~ nvm exec 12.4.0 npm install -g expo-cli
Running node v12.4.0 (npm v6.9.0)
npm WARN deprecated joi@14.0.4: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
npm WARN deprecated topo@3.0.3: This module has moved and is now available at @hapi/topo. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.

> @expo/traveling-fastlane-darwin@1.9.9 preinstall /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/node_modules/@expo/traveling-fastlane-darwin
> node platform.js

/Users/edmundmai/.nvm/versions/node/v9.10.0/bin/expo -> /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/bin/expo.js
/Users/edmundmai/.nvm/versions/node/v9.10.0/bin/expo-cli -> /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/bin/expo.js

> fsevents@1.2.9 install /Users/edmundmai/.nvm/versions/node/v9.10.0/lib/node_modules/expo-cli/node_modules/fsevents
> node install

檢查 ~/.npmrc 以獲取指向 v9.10.0 模塊安裝路徑的前綴設置。 這將導致 npm 在使用其他版本的 node.js 時將全局包安裝在錯誤的位置。

請參閱: https : //docs.npmjs.com/using-npm/config#prefix

你可以試試這個: $ nvm run 12.4.0 npm install -g expo-cli

或者這個: $ nvm exec 12.4.0 npm install -g expo-cli

供參考: https : //github.com/nvm-sh/nvm#usage

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM