如何在 Laravel Sail 中更新 npm
How to update npm in Laravel Sail
我目前正在使用 Laravel 8.48.2 和 Sail 包。我在 Windows 上使用带有 Ubuntu 发行版的 WSL 2 时,通过 Docker 桌面设置了 Sail 并 运行 它的图像。似乎一切正常。
在我运行sail npm install
之后,软件包安装成功,但我收到以下消息:
npm notice New minor version of npm available! 7.18.1 -> 7.19.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.19.0
npm notice Run npm install -g npm@7.19.0 to update!
因此,我尝试了 运行 sail npm install -g npm@7.19.0
,它给了我以下信息:
npm ERR! code EACCES
npm ERR! syscall rename
npm ERR! path /usr/lib/node_modules/npm
npm ERR! dest /usr/lib/node_modules/.npm-qUIFSsiV
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'
npm ERR! [Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'rename',
npm ERR! path: '/usr/lib/node_modules/npm',
npm ERR! dest: '/usr/lib/node_modules/.npm-qUIFSsiV'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/sail/.npm/_logs/2021-06-26T15_27_02_291Z-debug.log
如何在 Sail 上更新 NPM 版本?
提前致谢。
查看您的日志,您 运行 的用户似乎对文件夹 /usr/lib/node_modules/
没有足够的权限。因此,您可能会尝试使用 docker-compose exec laravel.test bash
登录到容器,并使用 chown -R user:group /usr/lib/node_modules/
与当前用户和组(由 whoami
找到)。或者 chmod 文件夹以对该文件夹整体拥有更宽松的权限。
感谢@online Thomas (),为了解决我的问题,我遵循了以下步骤:
- 在我的 Laravel 项目目录中,我 运行 这个命令...
docker-compose exec laravel.test bash
,它将您指向 docker 的服务器(或类似的东西), 直接在您的项目目录中。
- 我 运行 这个命令...
npm install -g npm@7.19.0
将 npm 更新到较新的版本没有任何问题。
我按照@online Thomas 的建议尝试了 chown
和 chmod
命令,但没有成功。我仍然无法在 docker 的服务器之外使用 sail npm install -g npm@7.19.0
命令。
目前的工作方式:
sail root-shell
npm update -g npm@latest
我目前正在使用 Laravel 8.48.2 和 Sail 包。我在 Windows 上使用带有 Ubuntu 发行版的 WSL 2 时,通过 Docker 桌面设置了 Sail 并 运行 它的图像。似乎一切正常。
在我运行sail npm install
之后,软件包安装成功,但我收到以下消息:
npm notice New minor version of npm available! 7.18.1 -> 7.19.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.19.0
npm notice Run npm install -g npm@7.19.0 to update!
因此,我尝试了 运行 sail npm install -g npm@7.19.0
,它给了我以下信息:
npm ERR! code EACCES
npm ERR! syscall rename
npm ERR! path /usr/lib/node_modules/npm
npm ERR! dest /usr/lib/node_modules/.npm-qUIFSsiV
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'
npm ERR! [Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'rename',
npm ERR! path: '/usr/lib/node_modules/npm',
npm ERR! dest: '/usr/lib/node_modules/.npm-qUIFSsiV'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/sail/.npm/_logs/2021-06-26T15_27_02_291Z-debug.log
如何在 Sail 上更新 NPM 版本?
提前致谢。
查看您的日志,您 运行 的用户似乎对文件夹 /usr/lib/node_modules/
没有足够的权限。因此,您可能会尝试使用 docker-compose exec laravel.test bash
登录到容器,并使用 chown -R user:group /usr/lib/node_modules/
与当前用户和组(由 whoami
找到)。或者 chmod 文件夹以对该文件夹整体拥有更宽松的权限。
感谢@online Thomas (
- 在我的 Laravel 项目目录中,我 运行 这个命令...
docker-compose exec laravel.test bash
,它将您指向 docker 的服务器(或类似的东西), 直接在您的项目目录中。 - 我 运行 这个命令...
npm install -g npm@7.19.0
将 npm 更新到较新的版本没有任何问题。
我按照@online Thomas 的建议尝试了 chown
和 chmod
命令,但没有成功。我仍然无法在 docker 的服务器之外使用 sail npm install -g npm@7.19.0
命令。
目前的工作方式:
sail root-shell
npm update -g npm@latest