0
グローバルにインストールされたパッケージが利用可能なパッケージをローカルにインストールする際に問題があります。インクルードパスに問題があるようですが、これが何を引き起こしているのかわかりません。NPMがグローバルにインストールされたパッケージを完全に無視しています
システム:MacのOS X
ノード:8.3.1
NPM:私はそれをインストールしようとしていた場合5.0.4
出力npm list -g --depth=0
/usr/local/lib
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
のために最初に言及node-gyp
警告とは異なり、グローバルにインストールされたです。その後、でもがグローバルにインストールされたnode-sass
で失敗します。
jurriendokter$ npm install
npm WARN prefer global [email protected] should be installed with -g
> [email protected] install /Users/jurriendokter/Development/holland-toolkit/node_modules/node-sass
> node scripts/install.js
module.js:487
throw err;
^
Error: Cannot find module 'extend'
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/jurriendokter/Development/holland-toolkit/node_modules/node-sass/node_modules/request/index.js:17:29)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected]://registry.npmjs.org/node-sass/-/node-sass-4.5.2.tgz (node_modules/node-sass):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node scripts/install.js`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
added 291 packages in 7.829s
は、npm doctor
、すべてをチェックし、私は全損でね。
どうすればこの問題を解決できますか?
古いNPMバージョン(3または4)を使用してパッケージをインストールした後、新しいバージョン(5)を使用してパッケージをインストールすると、後者が混乱する可能性があります。これは、私にとってはローカルパッケージとグローバルパッケージの両方で起こります。通常、新しいパッケージ( 'npm i --force ...')を強制的にインストールすることで修正されました。私は 'node-gyp'警告が' node-sass'の依存関係として宣言されていることと関係していると思いますので、 'npm i node-sass'はローカルバージョンをインストールします。 'node-gyp'は' package.json'で 'preferGlobal'が設定されているからです)。 – robertklep
それは私の状況では非常にうまくいっているかもしれません。ファイルシステムから 'package-lock.json'を削除すると、すべてのインストールを新しいもの(または強制的なもの)として扱われるので、助けにもなります。 別のバージョンをインストールしても '--save'を使わずに' package-lock.json'を更新した場合、 'package-lock.json'のバージョンを'package.json'で設定されたバージョン –