我的package.json文件中有git依赖项。当我在react app文件夹中进行 sudo npm install 时,出现此错误
npm ERR! code 1 npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b master https://github.com/lrojas94/react-file-base64.git /home/admin1/.npm/_cacache/tmp/git-clone-462782fb npm ERR! /home/admin1/.npm/_cacache/tmp/git-clone-462782fb/.git: Permission denied npm ERR! npm ERR! A complete log of this run can be found in: npm ERR! /home/admin1/.npm/_logs/2017-07-18T08_58_10_906Z-debug.log admin1@ubuntu:~/hys_pms/ui$ nohup: appending output to ‘nohup.out’
这是我的package.json
{ "name": "react-hys-app", "version": "0.1.0", "private": true, "dependencies": { "annogenerate": "^0.8.1", "bootstrap": "^3.3.7", "cors-prefetch-middleware": "^1.0.0", "es6-promise": "^4.1.0", "express": "^4.15.3", "fixed-data-table": "^0.6.4", "flexbox-react": "^4.4.0", "font-awesome": "^4.7.0", "images-upload-middleware": "^1.1.1", "isomorphic-fetch": "^2.2.1", "jquery": "^3.2.1", "react": "^15.3.1", "react-autosuggest": "^9.0.1", "react-avatar-cropper": "^0.1.3", "react-bootstrap": "^0.30.8", "react-bootstrap-autosuggest": "^0.5.0", "react-bootstrap-date-picker": "^5.0.1", "react-bootstrap-table": "^3.3.1", "react-checkbox-list": "0.0.2", "react-datepicker": "^0.51.0", "react-datetime": "^2.8.10", "react-dom": "^15.4.0", "react-dual-listbox": "^1.1.0", "react-edit": "^6.3.0", "react-file-base64": "git+https://github.com/lrojas94/react-file-base64.git", "react-flexbox-grid": "^1.1.3", "react-grid-layout": "^0.14.6", "react-images-uploader": "^1.0.1", "react-pagify": "^2.2.0", "react-panelgroup": "^1.0.2", "react-radio-button-group": "^1.2.5", "react-redux": "^5.0.4", "react-router": "^2.7.0", "react-s-alert": "^1.3.0", "react-select": "^1.0.0-rc.5", "react-visibility-toggles": "^1.1.1", "reactabular-resizable": "^8.9.0", "reactabular-table": "^8.9.0", "recompose": "^0.23.5", "redux": "^3.6.0", "redux-devtools-extension": "^2.13.0", "redux-thunk": "^2.2.0", "redux-undo": "^1.0.0-beta9-9-1", "reflexbox": "^3.0.0-0", "schema2object": "^0.4.0", "searchtabular": "^1.5.0", "segmentize": "^0.4.1", "sortabular": "^1.4.0", "table-resolver": "^3.1.0" }, "devDependencies": { "css-loader": "^0.28.4", "react-scripts": "0.9.5", "style-loader": "^0.18.2" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } }
package.json中的这一行引起了问题。
base64.git](https://github.com/lrojas94/react-file-base64.git) ”
这个问题令我震惊。请帮助。
从NodeJS 6.10升级到8.10(更重要的是,升级到NPM 5.6.0)后,我在安装黑猩猩(不是从git repo)中遇到了同样的错误。问题在于npm 5与npm 4处理权限/目录的方式非常不同。
解决方案是永远不要在运行npm 5时使用sudo。您会发现必须在npm 4上使用sudo的情况,但是您不需要在npm 5上使用sudo。如果是全局安装,则此链接可能会帮助您。它没有帮助我。
因为我在Docker容器中,所以我可以修改docker文件以不使用sudo,然后一切都很好。如果不是,建议您以用户(不是root)的身份运行以下命令:
cd ~ sudo rm -rf .npm cd <wherever your package.json/node_modules is> npm cache clean rm -rf node_modules npm install