コマンドnpm install -g TypeScript
でTypeScriptをインストールしようとしていますが、このエラーが返されます。
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "TypeScript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path npm-debug.log.1024969454
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: 'npm-debug.log.1024969454' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
jramirez@jramirez:/$ ^C
jramirez@jramirez:/$ npm install TypeScript
npm WARN checkPermissions Missing write access to /
/
└── [email protected]
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "TypeScript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path /
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/'
npm ERR! at Error (native) errno: -13, code: 'EACCES', syscall: 'access', path: '/' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "TypeScript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path npm-debug.log.2387664261
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: 'npm-debug.log.2387664261' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
また、npm install TypeScript
(-gなし)も実行しますが、機能しない、またはtypescriptをインストールする他の方法がありますか?私のOSはLinux Ubuntu 16.04です。 node
を使用することはめったになく、この問題を修正するのが好きではありません。
私の質問は、まさに、どのディレクトリがその許可を必要としているのですか?
npm installでSudoを使用することは推奨されません。代わりにnpmjs公式ドキュメントの手順に従ってください:)
グローバルインストール用のディレクトリを作成します。
mkdir ~/.npm-global
新しいディレクトリパスを使用するようにnpmを構成します。
npm config set prefix '~/.npm-global'
〜/ .profileファイルを開くか作成して、次の行を追加します。
export PATH=~/.npm-global/bin:$PATH
コマンドラインに戻り、システム変数を更新します。
source ~/.profile
テスト:Sudoを使用せずにパッケージをグローバルにダウンロードします。
npm install -g TypeScript
ソース: https://docs.npmjs.com/getting-started/fixing-npm-permissions
グローバルパッケージをubuntuにインストールする場合、usr/bin
フォルダーに書き込む際に特別な書き込み権限が必要です。これはセキュリティ上の理由によるものです。
したがって、グローバルパッケージをインストールするたびに、次を使用します。
Sudo npm install -g [package-name]
特定の場合:
Sudo npm install -g TypeScript
-g
なしで試す場合、あなたがしているフォルダにパッケージをローカルにインストールするだけです:
so:npm install TypeScript
は、現在のフォルダーにnode_modules
フォルダーを作成します。
私は、webpackサーバーのインストールでグローバルに同じ問題を抱えています。使用手順自分の問題を解決しました。
上記の手順では、開始する前にコンピューターをバックアップします。
グローバルインストール用のディレクトリを作成します。
1。mkdir ~/.npm-global
新しいディレクトリパスを使用するようにnpmを構成します。
2。npm config set prefix '~/.npm-global'
〜/ .profileファイルを開くか作成して、次の行を追加します。
。export PATH=~/.npm-global/bin:$PATH
コマンドラインに戻り、システム変数を更新します。
4。source ~/.profile
テスト:Sudoを使用せずにパッケージをグローバルにダウンロードします。
npm install -g jshint
手順2〜4の代わりに、対応するENV変数を使用できます(たとえば、〜/ .profileを変更したくない場合)。
NPM_CONFIG_PREFIX=~/.npm-global
1)ディレクトリ「/ usr/local/lib/node_modules」に移動します
2)フォルダをクリックし、右クリックして情報を見る
)右下のロックをクリック
4)ウィンドウのパスワードを入力してロックを解除します
5)WheelおよびEveryone to Read&Writeの両方の値を確認します
6)端末に戻り、TypeScriptを再度インストールしてください