Ubuntu 16.04を使用しています。古いバージョンをインストールするためにNPMを削除しました。 (使用したコマンドを正確に指定することはできません)。もうインストールできません。 npm -v
出力:bash: /usr/bin/npm: /usr/bin/nodejs: bad interpreter: No such file or directory
which npm
出力:/usr/bin/npm
curl -L http://npmjs.org/install.sh | Sudo sh
出力:
`install npm@latest
fetching: https://registry.npmjs.org/npm/-/npm-5.5.1.tgz
module.js:544
throw err;
^
Error: Cannot find module '/tmp/npm.9881/package/bin/read-package-json.js'
at Function.Module._resolveFilename (module.js:542:15)
at Function.Module._load (module.js:472:25)
at Function.Module.runMain (module.js:682:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:613:3
up to date in 0.059s
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
+ [email protected]
added 1 package in 1.907s
It worked`
UPD:解決しました。 node/nodejs/npmを完全に削除し、すべての相対フォルダーを削除してから、NVMを介して再インストールすると役立ちます。 https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
Nodejsをインストールするより良い方法は、nvmを使用することです。ここでは、マシンに複数のバージョンのnodejsをインストール/使用できます。
https://github.com/creationix/nvm
その後
nvm install $vesionNo
nvm use $versionNO
// for default
nvm alias default node
一部のLinuxディストリビューションでは、ノードは/usr/bin/nodejs
ではなく/usr/bin/node
にインストールされます。
私がしたことは、nodejs-legacyをインストールすることであり、それは問題を解決しました。 /usr/bin/nodejs
から/usr/bin/node
へのシンボリックリンクを作成します。
したがって、(最も簡単な解決策として)私が推奨するのは、nodejs-legacy
をインストールすることです。
Sudo apt-get install nodejs-legacy
Windowsのユーザー名に英字以外の文字やスペースがある場合もこれが原因と考えられます。
グローバルパッケージのインストールについて話している。特定のプロジェクトにパッケージをインストールする場合は、package.jsonの不足が原因である可能性もあります。