node.js - from - npm last version
NPM no puede instalar dependencias-Intenta desbloquear algo que no ha sido bloqueado (9)
El siguiente comando debería solucionar los problemas de permisos:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Puedes leer sobre otras soluciones oficialmente recomendadas aquí:
https://docs.npmjs.com/getting-started/fixing-npm-permissions
He estado tratando de ejecutar una instalación npm en mi archivo package.json, pero estoy teniendo muchos problemas. Sigue diciendo "Error: Intento de desbloquear XXX, que no se ha bloqueado" en todas mis dependencias. Aquí hay uno de ellos:
Error: Attempt to unlock tbd@~0.6.4, which hasn''t been locked
at unlock (/usr/local/lib/node_modules/npm/lib/cache.js:1304:11)
at cb (/usr/local/lib/node_modules/npm/lib/cache.js:646:5)
at /usr/local/lib/node_modules/npm/lib/cache.js:655:20
at /usr/local/lib/node_modules/npm/lib/cache.js:1290:7
at /usr/local/lib/node_modules/npm/node_modules/lockfile/lockfile.js:167:38
at OpenReq.Req.done (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:144:5)
at OpenReq.done (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:64:22)
at Object.oncomplete (fs.js:107:15)
Si trato de ejecutarlo como sudo, parece ir más lejos y comenzar a instalar algunos paquetes, pero en su lugar aparecen algunos errores nuevos:
> [email protected] postinstall /Users/tkirchner/Documents/Projects/mm-datatable/node_modules/karma/node_modules/chokidar
> node setup-deps.js
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:811
var cwd = process.cwd();
^
Error: EACCES, permission denied
at Function.startup.resolveArgv0 (node.js:811:23)
at startup (node.js:58:13)
at node.js:902:3
npm ERR! error rolling back Error: ENOTEMPTY, rmdir ''/Users/tkirchner/Documents/Projects/mm-datatable/node_modules/karma/node_modules/q''
npm ERR! error rolling back [email protected] { [Error: ENOTEMPTY, rmdir ''/Users/tkirchner/Documents/Projects/mm-datatable/node_modules/karma/node_modules/q'']
npm ERR! error rolling back errno: 53,
npm ERR! error rolling back code: ''ENOTEMPTY'',
npm ERR! error rolling back path: ''/Users/tkirchner/Documents/Projects/mm-datatable/node_modules/karma/node_modules/q'' }
npm ERR! Error: ENOENT, chown ''/Users/tkirchner/Documents/Projects/mm-datatable/node_modules/karma/node_modules/socket.io/lib/socket.io.js''
Recientemente actualicé mis instalaciones de nodo y npm. Así que tal vez eso tenga algo que ver con eso. Además, la mayor parte de mi desarrollo ha sido en la oficina y hoy estoy trabajando en VPN, así que quizás eso también tenga algo que ver.
¿Algunas ideas?
En mi caso, el problema fue invocar npm con un usuario que no tiene un directorio HOME, por lo que, por ejemplo, el siguiente comando fallaría:
sudo -u someUser npm install
La solución es proporcionar un directorio HOME, donde someUser
tiene acceso de escritura:
sudo -u someUser HOME=/some/directory npm install
Mi solución:
sudo chown -R $USER /usr/local/lib/node_modules/NAMEOFMODULE
en mi caso fue:
sudo chown -R $USER /usr/local/lib/node_modules/appium/
Pero yo estaba teniendo el mismo problema, finalmente después de
npm cache clean
funcionó !
Nada de esto funcionó para mí. Tuve que correr literalmente como root haciendo lo siguiente:
sudo su -
sudo npm install forever -g
Luego el paquete instalado en Linux Ubuntu 14.04.
Según photusenigma en: https://github.com/npm/npm/issues/4815
Ejecute estos comandos en una ventana de terminal (nota: NO reemplace la parte $ USER ... ¡eso es un comando de Linux para obtener su usuario!):
sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/local/lib/node_modules
... y ... si estás en un mac (como yo), y aún ves errores después de ejecutar estos comandos, ejecuta este último y deberías estar bien. (Le recomiendo que pruebe las pruebas antes de hacer esto. No me gusta cambiar los permisos en el directorio ENTER / usr / local a menos que realmente parezca necesario)
sudo chown -R $USER /usr/local
Trabajé con un compañero de trabajo esta tarde y descubrí cuál era el problema. Mi carpeta ".npm" en mi directorio de inicio era propiedad del usuario root en lugar de mí. No estoy seguro de qué pasó para causar eso. Tal vez instalé un nodo o npm como administrador raíz en algún momento. En cualquier caso, simplemente ejecuté sudo chown -R [username] .npm
y finalmente pude ejecutar los comandos de npm install
desde mis proyectos nuevamente.
Tuve el mismo problema e intenté arreglar el permiso / propiedad de los archivos y directorios relacionados con npm durante horas, pero no tuve suerte con eso.
De repente descubrí que tenía el archivo ~/.npmrc
con una entrada de cache
apunta a un directorio no existente. Se eliminó esa propiedad de cache
para usar la ubicación de caché predeterminada y ahora está resuelta.
Tuvo el mismo problema y lo solucionó cambiando las condiciones según la respuesta aceptada:
sudo chown -R $USER ~/.npm
Sin embargo, el segundo comando debe evitarse ya que reduce los permisos de un recurso del sistema ( sudo chown -R $USER /usr/local/lib/node_modules
). No es Buena idea.
Para el registro: "usr" en /usr/local
significa Unix System Resources .
Renuncia
Soy un usuario de Windows . Sin embargo, mi equipo y yo hemos encontrado una serie de problemas relacionados con los errores de instalación de npm.
Problemas
La siguiente es una lista de lecciones aprendidas y una posible solución radical que siempre nos ha rescatado:
- node_modules , el directorio de instalación local npm queda protegido contra modificaciones por una deficiencia del sistema operativo, como la incapacidad de procesar rutas de más de 255 caracteres.
- Si la carpeta se borra por medio de una herramienta de línea de comandos, todavía puede aparecer como si la carpeta existiera en el explorador, que al intentar acceder a ella da una serie de errores de permiso.
- Dependiendo de su antivirus y / o del administrador de políticas local, puede crear la carpeta node_modules y, posteriormente, el acceso o los permisos relegados a la misma, dando como resultado una serie de errores de instalación.
Habilite los registros de npm para obtener más información sobre posibles problemas con:
npm install --loglevel verbose
Radical
Instalar rimraf globalmente
npm install rimraf -g
Ejecuta rimraf en node_modules :
rimraf yourDir/node_modules
A continuación, intente ejecutar:
npm install
¡Advertencia!
O la falta de ello. Ten mucho cuidado con lo que sigue el comando rimraf
. No hay advertencias, no hay indicaciones, no hay nada. Simplemente borra el directorio de la fase de la tierra limpia, como si nunca hubiera estado allí. Pruébalo bajo tu propio riesgo.