NPM: checkPermissions 缺少对 /.../node_modules/is 的写入访问权限。

7
每次在我的项目上运行npm install时,我都会得到以下错误:
npm WARN checkPermissions Missing write access to /../node_modules/is
npm ERR! path /.../node_modules/is
npm ERR! code ELOOP
npm ERR! errno -62
npm ERR! syscall access
npm ERR! ELOOP: too many symbolic links encountered, access '/.../node_modules/is'

npm ERR! A complete log of this run can be found in:
npm ERR!     /.../.npm/_logs/2017-07-14T15_19_32_340Z-debug.log

在我的 node_modules 文件夹中删除一个名为“is”的快捷方式文件后,问题得到了解决。但在一次成功的 npm install 运行后,它会再次生成。

enter image description here

以下是我的 package.json 文件:
{
    "name": "SDKIonic",
    "version": "0.0.1",
    "author": "Ionic Framework",
    "homepage": "http://ionicframework.com/",
    "private": true,
    "scripts": {
        "clean": "ionic-app-scripts clean",
        "build": "ionic-app-scripts build",
        "lint": "ionic-app-scripts lint",
        "ionic:build": "ionic-app-scripts build",
        "ionic:serve": "ionic-app-scripts serve"
    },
    "dependencies": {
        "@angular/common": "4.1.3",
        "@angular/compiler": "4.1.3",
        "@angular/compiler-cli": "4.1.3",
        "@angular/core": "^4.1.3",
        "@angular/forms": "4.1.3",
        "@angular/http": "4.1.3",
        "@angular/platform-browser": "4.1.3",
        "@angular/platform-browser-dynamic": "4.1.3",
        "@ionic-native/core": "3.10.2",
        "@ionic-native/splash-screen": "3.10.2",
        "@ionic-native/status-bar": "3.10.2",
        "@ionic/storage": "2.0.1",
        "airwatch-sdk-plugin": "^1.0.7",
        "cordova-android": "^6.2.3",
        "cordova-ios": "^4.4.0",
        "cordova-plugin-console": "^1.0.5",
        "cordova-plugin-device": "^1.1.4",
        "cordova-plugin-splashscreen": "^4.0.3",
        "cordova-plugin-statusbar": "^2.2.2",
        "cordova-plugin-whitelist": "^1.3.1",
        "ionic-angular": "3.4.2",
        "ionic-plugin-keyboard": "^2.2.1",
        "ionicons": "3.0.0",
        "is": "file:node_modules/is",
        "rxjs": "5.4.0",
        "sw-toolbox": "3.6.0",
        "zone.js": "0.8.12"
    },
    "devDependencies": {
        "@ionic/app-scripts": "1.3.7",
        "@ionic/cli-plugin-cordova": "1.4.1",
        "@ionic/cli-plugin-ionic-angular": "1.3.1",
        "typescript": "2.3.3"
    },
    "description": "An Ionic project",
    "cordova": {
        "plugins": {
            "cordova-plugin-console": {},
            "cordova-plugin-device": {},
            "cordova-plugin-splashscreen": {},
            "cordova-plugin-statusbar": {},
            "cordova-plugin-whitelist": {},
            "ionic-plugin-keyboard": {},
            "com.airwatch.awsdkplugin": {}
        },
        "platforms": [
            "android",
            "ios"
        ]
    }
}

我尝试将权限更改为每个人都有读写权限,但没有成功。

2个回答

4
如果您正在使用 Mac 或任何基于 Unix 的系统,请尝试以 root/Administrator 权限重新运行该命令。
sudo npm install

2
这是一个递归依赖项(is 依赖项指向 node_modules/is,这也是 is 依赖项本身将被安装的地方):
"is": "file:node_modules/is"

如果你想安装is包(这个),请从package.json中删除该行并正确安装:

npm i is --save

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接