2013-12-13 16 views
6

私はUbuntuマシンにNode.jsをインストールしています。だから、私は/usr/local/bin/nodeとすべての依存関係にノードのバイナリを得たNode.js bash:/ usr/local/bin/node:許可が拒否されました

./configure && make && sudo make install 

:私は公式の指示に従いました。しかし、コマンドラインから実行すると、私は許可エラーを受け取ります:

> node 
bash: /usr/local/bin/node: Permission denied 

どうすれば修正できますか?私はどのように私のアカウントの下でそれを実行できますか? sudo nodeも機能しません。

+2

'ls -l/usr/local/bin/node'出力は何ですか? – rossipedia

+1

'-rwxr-x --- 1ルートルート11105680 12月13日09:46/usr/local/bin/node'。ああ、私は、 'chown'を見ますか?これはうまくいった! @rossipediaはそれを答えに入れて、解決したものとしてマークします。ありがとうございました! – demi

+1

私は 'chown'を使ってそれに対するパーミッションを変更しません。問題は、ルートとルートのグループに対するアクセス権が+ xしかないことです。通常、 '-rwxr-xr-x'を読んでください。これはみんなに読み取り権と実行権を与えます。 @ hek2mglの答えは正しいものです。 – rossipedia

答えて

13

othersの読み取りおよび実行権限が必要です。問題:

sudo chmod +rx $(which node) 

または

sudo chmod 755 $(which node) 

しかし、通常make installは、その権限を設定する必要があります。 Makefileの何かが間違っているように見えます。 OSX端子の無い知識を持つ人々のため

+1

+1私は 'which'の使用を好きです。とても賢いです – slezica

+0

Thx :) GNUの全ユーザーランドは素晴らしいです!それを愛することを止めることはできません:) – hek2mgl

+0

私は 'node'をユーザに実行可能にしています(' ls -l'についての解答のコメントを見てください)。私のために、 'chown'が働いていました(これは' root root'です)。 'chmod'は役に立たなかった。 – demi

1

、それを開き、次のコマンドを使用します。nodeコマンドは、それが管理者権限で実行されますようになります前に

su yourusername 
su chmod 755 /usr/local/bin/node 
sudo node install... 

これは、フォルダの読み出し/書き込み可能とsudoのようになります。

+0

'sudo node install'を実行せずに動作しました。 –

関連する問題