web-dev-qa-db-ja.com

NodeJsをインストールできない:/ usr/bin/env:node:そのようなファイルまたはディレクトリはありません

私はGruntJを使うために私のUbuntu 14.04にnodeJをインストールしようとしています。

Ubuntuのやり方について読みましたissues? )ので、これをインストールするために行ったことは次のとおりです。

Sudo apt-get install npm

Sudo npm install -g grunt-cli

その後うなり声を入力すると、私はエラーを得ました:

/usr/bin/env: node: No such file or directory

だから、私は試してみました:

curl -sL https://deb.nodesource.com/setup | Sudo bash -

Sudo apt-get install -y nodejs

Sudo apt-get update

もう一度試してみてもエラーが発生するので、試してみました。

Sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/

Sudo apt-get install -y nodejs

私はこのメッセージを持っています:

nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

念のため、クリーンアップを試しました。

Sudo apt-get autoremove

しかし、いや、エラーはまだそこにあります:私はgruntをタイプするとき私はまだ/usr/bin/env: node: No such file or directoryを得ます

私は何をすべきか?

285
Rosamunda

答えを見つけました。万が一それが誰かを助けるのであれば、私はそれをここに投稿します:

シンボリックリンクを作成することで問題が解決します:ln -s /usr/bin/nodejs /usr/bin/node(私の感謝と+1が bodokaiser への投票)。

注:この投稿はブラウザによる質問であるため、この投稿は完全に重複するものではないと思います。

782
Rosamunda

問題はnodeのバージョンにはありません。代わりに、NodeJSがデフォルトでUbuntuにインストールされる方法です。 UbuntuでNodeアプリケーションを実行するときは、nodejs somethign.jsの代わりにnode something.jsを実行する必要があります。

そのため、端末で呼び出されるアプリケーション名はnodejsであり、nodeではありません。これが、nodeとして受け取ったすべてのコマンドを単純にnodejsに転送するためのシンボリックリンクが必要な理由です。

ln -s /usr/bin/nodejs /usr/bin/node
113

最新のノードバージョンをアップグレードする必要があると思います

Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable
51
vanlan228

nodejsコマンドを使用してubuntu端末上のノードにアクセスできる場合、この問題は次のコマンドを使用して簡単に解決できます。

ln -s /usr/bin/nodejs /usr/bin/node

そしてこれは問題を解決するかもしれない

29
Hiro

私の場合、 nodejs-legacyのインストール で問題を解決しました。

Sudo apt-get install nodejs-legacy
24
Suleyman Arslan

やるだけ

$ Sudo apt-get install nodejs-legacy

そしてそれは働き始めるでしょう。

10

パッケージマネージャからインストールする場合、これはnodejsと呼ばれることがあるので、シンボリックリンクを張る必要があるので、これは間違った命名エラーであることがよくあります。

ln -s /usr/bin/nodejs /usr/bin/node
9
Ahmad Awais

Nodejsが既にインストールされていて(which nodejsで確認してください)、他のパッケージをインストールしたくない場合は、rootとして実行できます。

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99
7
Tom Hale

私はGulpを使用していたとき、私はこのエラーを得ました。

~$ gulp

/ usr/bin/env: 'node':そのようなファイルやディレクトリはありません

/ usr/binディレクトリにはすべての権限があることに注意してください。

~$ ln -s /usr/bin/nodejs /usr/bin/node

これは私のために働きます。

6
Naveen Gupta

これには2つの解決策があります。

a)PATH変数に "/ usr/local/bin"を含めるように設定します。

export PATH="$PATH:/usr/local/bin"

b)すでにPATHにある "/ usr/bin"へのシンボリックリンクを作成してください。

ln -s /usr/bin/nodejs /usr/bin/node

助けになれば幸いです。

4
Pavel

ln -sは明らかに最も簡単な修正ですが、説明の一部です。

他のパッケージとの競合のため、Ubuntuリポジトリからの実行ファイルはnodeではなくnodejsと呼ばれます。あなたがソフトウェアを実行しているとき、これを覚えておいてください。

このアドバイスは、Sudo apt-get install nodejsをインストールするときに出ます。

そのため、他の既知のツール(それが何をするのかわかりません。ubuntuリポジトリで知られていますが、16.04ではデフォルトでインストールされません)がその名前空間を占有します。

もしUbuntuがこれを「きれいに」修正する方法をアドバイスを提供してくれたならば、それは素晴らしいことでした。 (衝突は衝突のままです。

4
Frank Nocke

あなたのノードをどのようにインストールしたかにもよりますが、ほとんどの場合/ usr/bin /にはないかもしれません。

このコマンドを使用してwhich nodeパスを見つけましたが、作業を簡単にするためにこのコマンドを実行できます。

nodepath=$(which node); Sudo ln -s $nodepath /usr/bin/node

上記のコマンドはあなたのノードの位置を取得し、あなたのためにリンクを作成します。

2
akisoft
Sudo PATH="$PATH:/usr/local/bin" npm install -g <package-name>
2
KARTHIKEYAN.A

これらのコマンドに従って問題を解決してください。

ステップ1.ターミナルを開いて、

Sudo npm cache clean -f

このコマンドはNPMキャッシュ全体を消去します。

それからパスワードを入力してください

ステップ2。

Sudo npm install -g n

ステップ3.

Sudo n stable 

このコマンドを使用して、最新の安定版ノードをインストールできます。

これで、最新バージョンのノードがインストールされます。次の方法でバージョンを確認できます。

node -v
2
Anandhu Raj

私のケースではリンクは でした _ _は_ 仕事 は以下の通り

ln -s/usr/bin/nodejs/usr/bin/node

しかし、rootとして/ usr/local/bin/lesscを開き、最初の行をnodeからnodejsに変更することができます。

- #!/ usr/bin/envノード

+#!/ usr/bin/env nodejs

1
Tanvir Ahmad

このコマンドでコマンドまたはファイル名をln -s /usr/bin/nodejs /usr/bin/nodeに変更するだけです

私には受け入れられた答えはまだうまくいきませんでした。ここに示唆されているように私は始めました:

ln -s /usr/bin/nodejs /usr/bin/node

これを実行した後、私は次のエラーが出ました:

/usr/local/lib/node_modules/npm/bin/npm-cli.js:85 let notifier = require( 'update-notifier')({pkg})^^^

SyntaxError:ブロックスコープ宣言(let、const、function、class)は、ObjectのModule._compile(module.js:374:25)のexports.runInThisContext(vm.js:53:16)で厳密モードの外部ではまだサポートされていません。 Module.load(module.js:344:32)のFunction.Module._load(module.js:301:12)のFunction.Module.runMain()のModule._extensions..js(module.js:417:10) module.js:442:10)起動時(node.js:136:18)にnode.js:966:3

解決策は、 https://nodejs.org/en/download/ から最新バージョンのノードをダウンロードすることでした。

それから私はしました:

Sudo tar -xf node-v10.15.0-linux-x64.tar.xz --directory /usr/local --strip-components 1

npm -vは3.2.1から6.4.1に変更されました。

0
Blackbam