web-dev-qa-db-ja.com

npmコマンドがubuntuで機能しない

Ubuntu 14.04にnodeとnpmをインストールしましたが、npmコマンドを使用しようとすると、次のエラーが発生します。

/usr/local/lib/node_modules/npm/lib/config/cmd-list.js:113
module.exports.aliases = Object.assign({}, shorthands, affordances)
                            ^
TypeError: Object function Object() { [native code] } has no method 'assign'
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/config/cmd-list.js:113:33)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /usr/local/lib/node_modules/npm/lib/npm.js:37:17
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/npm.js:471:3)
at Module._compile (module.js:456:26)

私はノードを使用するのが初めてで、そのようなエラーの解決策をオンラインで見つけられませんでした

4
Pragati Basa

古いバージョンのnode.jsを実行している可能性があります(これを書いている時点では、node -vで確認してください。最新のltsは6.xです)。 apt-get install nodejsなどでインストールしようとしたと思います。 ubuntu 14に同梱されているパッケージは古くなっています。代わりに、 nodejsのダウンロードページ のアドバイスに従って、次の手順を実行してください。

手順1、古いパッケージを削除します。

Sudo apt-get remove --purge nodejs

ステップ2、次のコマンドを次々に入力し、画面に従います。

curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs

これで、Object.assignがその1つであるため、ES6メソッドを許可するnodejsのバージョンがインストールされました。

26
bambam

npmは古いバージョンである可能性があります。

したがって、nodejsを削除します。

Sudo apt-get remove nodejs
Sudo apt-get remove npm

その後、

Sudo apt-get install curl #if you dont have curl

Node.js v6:

curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Node.js v7:

curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Node.js 8:

curl -sL https://deb.nodesource.com/setup_8.x | Sudo -E bash -
Sudo apt-get install -y nodejs

詳細については、 パッケージマネージャー

これはUbuntuで私のために働いた18.04

Sudo apt install nodejs
Sudo apt install npm
0
Nelu